This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push: new 4db70eeee7 [FIX] DSNBounce should add Auto-Submitted: auto-replied header (#2717) 4db70eeee7 is described below commit 4db70eeee7f081df80c714d6557be993f074bef1 Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Wed May 14 10:23:43 2025 +0200 [FIX] DSNBounce should add Auto-Submitted: auto-replied header (#2717) --- .../apache/james/transport/mailets/DSNBounce.java | 3 ++ .../james/transport/mailets/DSNBounceTest.java | 33 ++++++++++++++++++++++ 2 files changed, 36 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..c0119286cf 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; @@ -395,6 +397,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