This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch fix-dsn-auto-submitted in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 56c2ab11427a3c7f3fa0b8d159fb8aec91c254bf Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Mon May 12 09:30:19 2025 +0200 [FIX] DSNBounce should add Auto-Submitted: auto-replied header --- .../apache/james/transport/mailets/DSNBounce.java | 4 +++ .../james/transport/mailets/DSNBounceTest.java | 33 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java index ea3f762386..970baa2f26 100755 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java @@ -20,6 +20,8 @@ package org.apache.james.transport.mailets; import static org.apache.james.transport.mailets.remote.delivery.Bouncer.DELIVERY_ERROR; +import static org.apache.mailet.base.AutomaticallySentMailDetector.AUTO_REPLIED_VALUE; +import static org.apache.mailet.base.AutomaticallySentMailDetector.AUTO_SUBMITTED_HEADER; import java.net.InetAddress; import java.net.UnknownHostException; @@ -70,6 +72,7 @@ import org.apache.mailet.AttributeUtils; import org.apache.mailet.AttributeValue; import org.apache.mailet.DsnParameters; import org.apache.mailet.Mail; +import org.apache.mailet.base.AutomaticallySentMailDetector; import org.apache.mailet.base.DateFormats; import org.apache.mailet.base.GenericMailet; import org.apache.mailet.base.RFC2822Headers; @@ -395,6 +398,7 @@ public class DSNBounce extends GenericMailet implements RedirectNotify { MimeMessage newMessage = new MimeMessage(Session.getDefaultInstance(System.getProperties(), null)); newMessage.setContent(multipart); newMessage.setHeader(RFC2822Headers.CONTENT_TYPE, multipart.getContentType()); + newMessage.setHeader(AUTO_SUBMITTED_HEADER, AUTO_REPLIED_VALUE); return newMessage; } diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java index c235130af9..80ede28203 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java @@ -1463,4 +1463,37 @@ public class DSNBounceTest { assertThat(MimeMessageUtil.asString(sentMessage)) .contains("Error message:\nThis is what happen..."); } + + @Test + void shouldAddAutoSubmittedHeader() throws Exception { + FakeMailetConfig mailetConfig = FakeMailetConfig.builder() + .mailetName(MAILET_NAME) + .mailetContext(fakeMailContext) + .setProperty("defaultStatus", "4.0.0") + .build(); + dsnBounce.init(mailetConfig); + + MailAddress senderMailAddress = new MailAddress("sen...@domain.com"); + FakeMail mail = FakeMail.builder() + .name(MAILET_NAME) + .sender(senderMailAddress) + .mimeMessage(MimeMessageBuilder.mimeMessageBuilder() + .setText("My content")) + .recipient("recipi...@domain.com") + .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z"))) + .remoteAddr("remoteHost") + .attribute(new Attribute(AttributeName.of("delivery-error"), AttributeValue.of("This is what happen..."))) + .build(); + mail.setDsnParameters(DsnParameters.builder().envId(DsnParameters.EnvId.of("xyz")).build().get()); + + dsnBounce.service(mail); + + List<SentMail> sentMails = fakeMailContext.getSentMails(); + assertThat(sentMails).hasSize(1); + SentMail sentMail = sentMails.get(0); + MimeMessage sentMessage = sentMail.getMsg(); + + assertThat(MimeMessageUtil.asString(sentMessage)) + .contains("Auto-Submitted: auto-replied"); + } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org