diff --git a/src/main/java/org/olat/core/util/_spring/utilCorecontext.xml b/src/main/java/org/olat/core/util/_spring/utilCorecontext.xml index 304d6c9be602a2735216554cd1734d16a3bedf65..53e7540a0a50d67ddd9bd5226fedc33fa013b703 100644 --- a/src/main/java/org/olat/core/util/_spring/utilCorecontext.xml +++ b/src/main/java/org/olat/core/util/_spring/utilCorecontext.xml @@ -33,6 +33,7 @@ <entry key="smtpStarttls" value="${smtp.starttls}"/> <entry key="mailFrom" value="${fromemail}"/> <entry key="mailFromName" value="${fromname}"/> + <entry key="smtpFrom" value="${smtp.from}"/> <entry key="mailReplyTo" value="${adminemail}"/> <entry key="mailSupport" value="${supportemail}"/> <entry key="mailQuota" value="${quotaemail}"/> diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java index a0d0b3b29f24badadc3dfbbe78693c8511e42fc5..945027a5e2e1e8c2aa726a4812a748346d209aba 100644 --- a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java +++ b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java @@ -110,6 +110,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.sun.mail.smtp.SMTPMessage; + /** * * Description:<br> @@ -1597,7 +1599,18 @@ public class MailManagerImpl implements MailManager, InitializingBean { } @Override - public void sendMessage(MimeMessage msg, MailerResult result){ + public void sendMessage(MimeMessage msg, MailerResult result) { + String smtpFrom = WebappHelper.getMailConfig("smtpFrom"); + if(StringHelper.containsNonWhitespace(smtpFrom)) { + try { + SMTPMessage smtpMsg = new SMTPMessage(msg); + smtpMsg.setEnvelopeFrom(smtpFrom); + msg = smtpMsg; + } catch (MessagingException e) { + log.error("", e); + } + } + try{ if(Settings.isJUnitTest()) { //we want not send really e-mails diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties index 8b3062d4bbeaee3382257014aeeb4f3570da5778..5b51a516bbb30d21207a00687211b8dfedf57d7b 100644 --- a/src/main/resources/serviceconfig/olat.properties +++ b/src/main/resources/serviceconfig/olat.properties @@ -124,6 +124,8 @@ smtp.sslCheckCertificate=false smtp.starttls=false # timeout in milliseconds smtp.timeout=8000 +# fix from of the smtp envelope +smtp.from= # system mails will be sent from this address (from local domain with valid reverse dns): fromemail=no-reply@your.domain # the plain text name of the from mail address usually displayed by the email client