Skip to content

Commit 90d0378

Browse files
committed
Fixes #434: Regression bug: Email parameter missing in CustomMailer interface
1 parent 99250c4 commit 90d0378

File tree

6 files changed

+9
-6
lines changed

6 files changed

+9
-6
lines changed

modules/core-module/src/main/java/org/simplejavamail/api/mailer/CustomMailer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import jakarta.mail.Session;
44
import jakarta.mail.internet.MimeMessage;
55
import org.jetbrains.annotations.NotNull;
6+
import org.simplejavamail.api.email.Email;
67
import org.simplejavamail.api.mailer.config.OperationalConfig;
78

89
/**
@@ -13,10 +14,11 @@
1314
* configuring a {@code Session} instance, producing a {@code MimeMessage}, all with full S/MIME, DKIM support and everything else.
1415
* <p>
1516
* <strong>Note:</strong> in this mode, proxy support is turned off assuming it is handled by the custom mailer as well.
17+
* <strong>Note:</strong> in this mode, the batch-module (SMTP cluster(s) / smtp connection pooling) won't be used either.
1618
*
1719
* @see MailerGenericBuilder#withCustomMailer(CustomMailer)
1820
*/
1921
public interface CustomMailer {
2022
void testConnection(@NotNull OperationalConfig operationalConfig, @NotNull Session session);
21-
void sendMessage(@NotNull OperationalConfig operationalConfig, @NotNull Session session, MimeMessage mimeMessage);
23+
void sendMessage(@NotNull OperationalConfig operationalConfig, @NotNull Session session, @NotNull Email email, @NotNull MimeMessage message);
2224
}

modules/simple-java-mail/src/main/java/org/simplejavamail/mailer/internal/SendMailClosure.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void executeClosure() {
4747
LOGGER.info("TRANSPORT_MODE_LOGGING_ONLY: skipping actual sending...");
4848
} else if (operationalConfig.getCustomMailer() != null) {
4949
val message = SessionBasedEmailToMimeMessageConverter.convertAndLogMimeMessage(session, email);
50-
operationalConfig.getCustomMailer().sendMessage(operationalConfig, session, message);
50+
operationalConfig.getCustomMailer().sendMessage(operationalConfig, session, email, message);
5151
} else {
5252
TransportRunner.sendMessage(operationalConfig.getClusterKey(), session, email);
5353
}

modules/simple-java-mail/src/test/java/org/simplejavamail/mailer/MailerInjectionScanTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void testCustomMailer_sendEmail_dontFailOn_injectionAttackOrInvalidAddres
5050
.disablingAllClientValidation(true).buildMailer()
5151
.sendMail(email);
5252

53-
verify(customMailerMock).sendMessage(any(OperationalConfig.class), any(Session.class), any(MimeMessage.class));
53+
verify(customMailerMock).sendMessage(any(OperationalConfig.class), any(Session.class), any(Email.class), any(MimeMessage.class));
5454
verifyNoMoreInteractions(customMailerMock);
5555
}
5656

modules/simple-java-mail/src/test/java/org/simplejavamail/mailer/MailerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ public void testCustomMailer_sendEmail() throws IOException {
401401

402402
getMailerWithCustomMailer(customMailerMock).sendMail(email);
403403

404-
verify(customMailerMock).sendMessage(any(OperationalConfig.class), any(Session.class), any(MimeMessage.class));
404+
verify(customMailerMock).sendMessage(any(OperationalConfig.class), any(Session.class), any(Email.class), any(MimeMessage.class));
405405
verifyNoMoreInteractions(customMailerMock);
406406
}
407407

modules/simple-java-mail/src/test/java/org/simplejavamail/mailer/ResultHandlingTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.jetbrains.annotations.NotNull;
66
import org.junit.Before;
77
import org.junit.Test;
8+
import org.simplejavamail.api.email.Email;
89
import org.simplejavamail.api.mailer.CustomMailer;
910
import org.simplejavamail.api.mailer.config.OperationalConfig;
1011
import org.simplejavamail.email.EmailBuilder;
@@ -139,7 +140,7 @@ public void testConnection(@NotNull final OperationalConfig operationalConfig, @
139140
}
140141

141142
@Override
142-
public void sendMessage(@NotNull OperationalConfig operationalConfig, @NotNull Session session, MimeMessage mimeMessage) {
143+
public void sendMessage(@NotNull OperationalConfig operationalConfig, @NotNull Session session, @NotNull Email email, @NotNull MimeMessage message) {
143144
if (!shouldSendSuccesfully) {
144145
throw new RuntimeException("simulating fail...");
145146
}

0 commit comments

Comments
 (0)