From 4ef07293d0efd3d2051a30dde5513bc992caf277 Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Wed, 8 Jan 2020 10:18:36 +0100 Subject: [PATCH] OO-4390: Fix unit tests --- .../core/util/mail/manager/MailManagerImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 2959ee950aa..ef461b87d45 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 @@ -1689,7 +1689,7 @@ public class MailManagerImpl implements MailManager, InitializingBean { @Override public MimeMessage createMimeMessage(Address from, Address[] tos, Address[] ccs, Address[] bccs, String subject, String body, List<File> attachments, MailerResult result) { - return createMimeMessage(from, tos, ccs, bccs, subject, body, attachments, result); + return createMimeMessage(null, from, tos, ccs, bccs, subject, body, attachments, result); } public MimeMessage createMimeMessage(Address mimeSender, Address from, Address[] tos, Address[] ccs, Address[] bccs, String subject, String body, @@ -1715,11 +1715,17 @@ public class MailManagerImpl implements MailManager, InitializingBean { msg.setFrom(mimeSender); Address rawMimeSender = getRawEmailFromAddress(mimeSender); msg.setReplyTo(new Address[] {rawMimeSender}); - } else if (!hasExternalFromAndRecipient(msg)) { - // Only if whether the sender nor one of the recipients have an external email address, - // we set the from to the sender email address. In all other cases we use the admin address - // to prevent rejected or messages detected as spam (see createMessage(subject, from)). + } else { + // in case the sender and one of the recipients has an external mail address domain we set + // the from header to the admin address to prevent rejected or messages detected as spam. msg.setFrom(from); + // from has to be set for this check to work + if (hasExternalFromAndRecipient(msg)) { + String platformFrom = WebappHelper.getMailConfig("mailFrom"); + String platformName = WebappHelper.getMailConfig("mailFromName"); + Address viewablePlatformFrom = createAddressWithName(platformFrom, platformName); + msg.setFrom(viewablePlatformFrom); + } } if (attachments != null && !attachments.isEmpty()) { -- GitLab