You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/02/28 10:28:49 UTC

[james-project] 02/02: JAMES-2672 FakeMail name must not be null and not empty

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit bfd56a5a6987b56a40759179f673bee62276da20
Author: Matthieu Baechler <ma...@apache.org>
AuthorDate: Wed Feb 27 16:42:24 2019 +0100

    JAMES-2672 FakeMail name must not be null and not empty
---
 .../AutomaticallySentMailDetectorImplTest.java     | 21 ++++++++++
 .../apache/mailet/base/MatcherInverterTest.java    |  3 ++
 .../james/transport/mailets/ICALToHeadersTest.java |  7 ++++
 .../transport/mailets/ICALToJsonAttributeTest.java | 15 +++++++
 .../james/transport/mailets/ICSSanitizerTest.java  |  2 +
 .../transport/mailets/ICalendarParserTest.java     |  6 +++
 .../mailets/AddDeliveredToHeaderTest.java          |  3 +-
 .../transport/mailets/ContactExtractorTest.java    | 47 ++++++++++++++++------
 .../james/transport/mailets/LogMessageTest.java    |  3 +-
 .../MailAttributesListToMimeHeadersTest.java       |  7 ++++
 .../apache/james/transport/mailets/NullTest.java   |  2 +-
 .../james/transport/mailets/OnlyTextTest.java      |  5 +++
 .../transport/mailets/PostmasterAliasTest.java     |  8 +++-
 .../mailets/RecipientToLowerCaseTest.java          |  2 +
 .../transport/mailets/RemoveMailAttributeTest.java |  5 ++-
 .../transport/mailets/ReplaceContentTest.java      |  8 ++++
 .../transport/mailets/StripAttachmentTest.java     |  6 +--
 .../james/transport/mailets/ToProcessorTest.java   |  3 ++
 .../transport/mailets/UseHeaderRecipientsTest.java |  8 ++++
 .../apache/james/transport/matchers/AllTest.java   |  1 +
 .../james/transport/matchers/FetchedFromTest.java  |  4 ++
 .../transport/matchers/HasAttachmentTest.java      |  1 +
 .../matchers/HasHeaderWithPrefixTest.java          |  4 ++
 .../matchers/HasMimeTypeParameterTest.java         |  1 +
 .../james/transport/matchers/HasMimeTypeTest.java  |  3 ++
 .../james/transport/matchers/HostIsLocalTest.java  |  3 ++
 .../james/transport/matchers/HostIsTest.java       |  3 ++
 .../transport/matchers/IsSingleRecipientTest.java  |  4 +-
 .../transport/matchers/RecipientDomainIsTest.java  |  4 ++
 .../transport/matchers/RecipientIsLocalTest.java   |  1 +
 .../transport/matchers/RecipientIsRegexTest.java   |  4 ++
 .../james/transport/matchers/RecipientIsTest.java  |  4 ++
 .../james/transport/matchers/RelayLimitTest.java   |  1 +
 .../transport/matchers/SMTPAuthSuccessfulTest.java |  2 +
 .../transport/matchers/SMTPIsAuthNetworkTest.java  |  3 ++
 .../transport/matchers/SenderDomainIsTest.java     |  4 ++
 .../transport/matchers/SenderHostIsLocalTest.java  |  4 ++
 .../james/transport/matchers/SenderHostIsTest.java |  5 +++
 .../transport/matchers/SenderIsLocalTest.java      |  5 +++
 .../james/transport/matchers/SenderIsNullTest.java |  3 ++
 .../transport/matchers/SenderIsRegexTest.java      |  6 +++
 .../james/transport/matchers/SenderIsTest.java     |  7 ++++
 .../james/transport/matchers/SentByMailetTest.java |  4 ++
 .../transport/matchers/SizeGreaterThanTest.java    |  6 +++
 .../james/transport/matchers/SubjectIsTest.java    |  3 ++
 .../transport/matchers/SubjectStartsWithTest.java  |  3 ++
 .../james/transport/matchers/TooManyLinesTest.java |  4 +-
 .../transport/matchers/TooManyRecipientsTest.java  |  5 ++-
 .../james/transport/matchers/UserIsTest.java       |  4 ++
 .../java/org/apache/mailet/base/test/FakeMail.java | 38 ++++++++---------
 .../org/apache/mailet/base/test/FakeMailTest.java  |  8 +++-
 .../james/transport/mailets/AddFooterTest.java     |  2 +
 .../james/transport/mailets/AliasMappingTest.java  | 11 +++++
 .../mailets/AmqpForwardAttachmentTest.java         |  1 +
 .../transport/mailets/DlpIntegrationTest.java      |  4 ++
 .../transport/mailets/GroupMappingRelayTest.java   |  1 +
 .../james/transport/mailets/GroupMappingTest.java  | 18 +++++++++
 .../mailets/ICSAttachmentWorkflowTest.java         | 10 +++++
 .../james/transport/mailets/SpamAssassinTest.java  |  1 +
 .../impl/JamesMailetContextTest.java               |  2 +
 .../mailetcontainer/impl/matchers/AndTest.java     |  2 +-
 .../mailetcontainer/impl/matchers/NotTest.java     |  2 +-
 .../mailetcontainer/impl/matchers/OrTest.java      |  2 +-
 .../mailetcontainer/impl/matchers/XorTest.java     |  2 +-
 .../apache/james/transport/mailets/BounceTest.java |  4 +-
 .../james/transport/mailets/DSNBounceTest.java     | 24 +++++------
 .../james/transport/mailets/MetricsMailetTest.java |  2 +-
 .../RecipientRewriteTableProcessorTest.java        |  9 ++++-
 .../mailets/RecipientRewriteTableTest.java         |  3 +-
 .../james/transport/mailets/WithPriorityTest.java  |  3 +-
 .../mailets/WithStorageDirectiveTest.java          |  3 ++
 .../mailets/delivery/LocalDeliveryTest.java        |  1 +
 .../mailets/delivery/MailDispatcherTest.java       | 11 +++++
 .../mailets/delivery/SieveIntegrationTest.java     |  2 +
 .../mailets/delivery/SimpleMailStoreTest.java      |  3 ++
 .../mailets/delivery/ToRecipientFolderTest.java    |  1 +
 .../mailets/jsieve/DiscardActionTest.java          |  4 ++
 .../managesieve/ManageSieveMailetTestCase.java     |  3 ++
 .../mailets/redirect/NotifyMailetsMessageTest.java |  2 +
 .../mailets/remote/delivery/BouncerTest.java       | 30 +++++++-------
 .../remote/delivery/DeliveryRetryHelperTest.java   |  4 +-
 .../remote/delivery/DeliveryRunnableTest.java      | 13 +++++-
 .../mailets/remote/delivery/MailDelivrerTest.java  | 46 ++++++++++-----------
 .../transport/matchers/InSpammerBlacklistTest.java |  1 +
 .../transport/matchers/IsMarkedAsSpamTest.java     |  7 ++++
 .../james/transport/matchers/IsOverQuotaTest.java  |  7 ++++
 .../transport/matchers/IsSenderInRRTLoopTest.java  |  5 +++
 .../matchers/RemoteAddrInNetworkTest.java          |  4 ++
 .../matchers/RemoteAddrNotInNetworkTest.java       |  4 ++
 .../james/transport/matchers/dlp/DlpTest.java      | 27 +++++++++++--
 .../james/transport/util/RecipientsUtilsTest.java  |  1 +
 .../james/transport/util/ReplyToUtilsTest.java     |  1 +
 .../transport/util/SpecialAddressesUtilsTest.java  | 26 ++++++++++++
 .../apache/james/transport/util/TosUtilsTest.java  |  1 +
 .../mailrepository/MailRepositoryContract.java     |  2 +-
 .../methods/integration/SetMessagesMethodTest.java |  1 +
 .../apache/james/jmap/mailet/SentByJmapTest.java   |  4 ++
 .../mailet/TextCalendarBodyToAttachmentTest.java   |  9 +++++
 .../james/jmap/mailet/VacationMailetTest.java      |  2 +
 .../james/jmap/mailet/VacationReplyTest.java       |  1 +
 .../jmap/mailet/filter/JMAPFilteringExtension.java |  1 +
 .../james/smtpserver/SpamAssassinHandlerTest.java  |  1 +
 .../apache/james/smtpserver/URIRBLHandlerTest.java |  1 +
 .../james/webadmin/dto/MailQueueItemDTOTest.java   |  2 +-
 .../james/webadmin/routes/MailQueueRoutesTest.java | 23 ++++++-----
 .../james/queue/api/DelayedMailQueueContract.java  |  5 +++
 .../apache/james/queue/api/MailQueueContract.java  | 11 +++++
 .../java/org/apache/james/queue/api/Mails.java     | 31 ++++++++------
 .../queue/api/ManageableMailQueueContract.java     | 15 +++----
 .../api/ManageableMailQueueFactoryContract.java    |  2 +-
 .../apache/james/queue/rabbitmq/MailDTOTest.java   |  2 +-
 .../rabbitmq/view/api/DeleteConditionTest.java     | 10 ++++-
 112 files changed, 597 insertions(+), 149 deletions(-)

diff --git a/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java b/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
index 4b2a77d..1e6a623 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
@@ -43,6 +43,7 @@ public class AutomaticallySentMailDetectorImplTest {
         assertThat(
             new AutomaticallySentMailDetectorImpl()
                 .isAutomaticallySent(FakeMail.builder()
+                    .name("mail")
                     .build()))
             .isTrue();
     }
@@ -52,6 +53,7 @@ public class AutomaticallySentMailDetectorImplTest {
         assertThat(
             new AutomaticallySentMailDetectorImpl()
                 .isAutomaticallySent(FakeMail.builder()
+                    .name("mail")
                     .sender(MailAddressFixture.ANY_AT_JAMES)
                     .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                         .setText("any"))
@@ -62,6 +64,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void ownerIsAMailingListPrefix() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("owner-list@any.com")
                 .build();
 
@@ -71,6 +74,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void requestIsAMailingListPrefix() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("list-request@any.com")
                 .build();
 
@@ -80,6 +84,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void mailerDaemonIsReserved() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("MAILER-DAEMON@any.com")
                 .build();
 
@@ -89,6 +94,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listservIsReserved() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("LISTSERV@any.com")
                 .build();
 
@@ -98,6 +104,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void majordomoIsReserved() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("majordomo@any.com")
                 .build();
 
@@ -107,6 +114,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listIdShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Id", "any"))
@@ -118,6 +126,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listHelpShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Help", "any"))
@@ -129,6 +138,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listSubscribeShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Subscribe", "any"))
@@ -140,6 +150,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listUnsubscribeShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addHeader("List-Unsubscribe", "any"))
@@ -151,6 +162,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listPostShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Post", "any"))
@@ -162,6 +174,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listOwnerShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Owner", "any"))
@@ -174,6 +187,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void listArchiveShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender("any@any.com")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("List-Archive", "any"))
@@ -186,6 +200,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void normalMailShouldNotBeIdentifiedAsMailingList() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .build();
@@ -196,6 +211,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void isAutoSubmittedShouldNotMatchNonAutoSubmittedMails() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .build();
 
@@ -205,6 +221,7 @@ public class AutomaticallySentMailDetectorImplTest {
     @Test
     public void isAutoSubmittedShouldBeDetected() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addHeader("Auto-Submitted", "auto-replied"))
@@ -229,6 +246,7 @@ public class AutomaticallySentMailDetectorImplTest {
         message.setContent(multipart);
         
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(message)
                 .build();
@@ -252,6 +270,7 @@ public class AutomaticallySentMailDetectorImplTest {
         message.setContent(multipart);
         
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(message)
                 .build();
@@ -275,6 +294,7 @@ public class AutomaticallySentMailDetectorImplTest {
         message.setContent(multipart);
         
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender("any@any.com")
                 .mimeMessage(message)
                 .build();
@@ -293,6 +313,7 @@ public class AutomaticallySentMailDetectorImplTest {
                 .data("The body part have 1010 headers, which overpass MIME4J default limits"));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(message)
             .build();
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/MatcherInverterTest.java b/mailet/base/src/test/java/org/apache/mailet/base/MatcherInverterTest.java
index 9615445..0bd29f7 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/MatcherInverterTest.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/MatcherInverterTest.java
@@ -43,6 +43,7 @@ public class MatcherInverterTest {
             }
         });
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipient(new MailAddress("user", "domain"))
                 .build();
 
@@ -62,6 +63,7 @@ public class MatcherInverterTest {
             }
         });
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(address1, address2)
                 .build();
 
@@ -81,6 +83,7 @@ public class MatcherInverterTest {
             }
         });
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(address1, address2)
                 .build();
 
diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToHeadersTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToHeadersTest.java
index 1af80f1..d49beed 100644
--- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToHeadersTest.java
+++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToHeadersTest.java
@@ -88,6 +88,7 @@ public class ICALToHeadersTest {
     public void serviceShouldNotModifyMailsWithoutIcalAttribute() throws Exception {
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .build();
 
@@ -100,6 +101,7 @@ public class ICALToHeadersTest {
     public void serviceShouldNotFailOnMailsWithWrongAttributeType() throws Exception {
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, "This is the wrong type")
             .build();
@@ -117,6 +119,7 @@ public class ICALToHeadersTest {
 
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, wrongParametrizedMap)
             .build();
@@ -135,6 +138,7 @@ public class ICALToHeadersTest {
 
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, icals)
             .build();
@@ -158,6 +162,7 @@ public class ICALToHeadersTest {
 
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, icals)
             .build();
@@ -183,6 +188,7 @@ public class ICALToHeadersTest {
 
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, icals)
             .build();
@@ -199,6 +205,7 @@ public class ICALToHeadersTest {
 
         testee.init(FakeMailetConfig.builder().build());
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .attribute(ICALToHeader.ATTRIBUTE_DEFAULT_NAME, icals)
             .build();
diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java
index 5b0a3be..40111b7 100644
--- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java
+++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java
@@ -127,6 +127,7 @@ public class ICALToJsonAttributeTest {
         testee.init(FakeMailetConfig.builder().build());
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .build();
@@ -141,6 +142,7 @@ public class ICALToJsonAttributeTest {
         testee.init(FakeMailetConfig.builder().build());
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.of("wrong type")))
@@ -156,6 +158,7 @@ public class ICALToJsonAttributeTest {
         testee.init(FakeMailetConfig.builder().build());
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_RAW_SOURCE, AttributeValue.of("wrong type")))
@@ -172,6 +175,7 @@ public class ICALToJsonAttributeTest {
 
         ImmutableMap<String, String> wrongParametrizedMap = ImmutableMap.of("key", "value");
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(wrongParametrizedMap)))
@@ -188,6 +192,7 @@ public class ICALToJsonAttributeTest {
 
         ImmutableMap<String, String> wrongParametrizedMap = ImmutableMap.of("key", "value");
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_RAW_SOURCE, AttributeValue.ofAny(wrongParametrizedMap)))
@@ -206,6 +211,7 @@ public class ICALToJsonAttributeTest {
         Calendar calendar = new CalendarBuilder().build(new ByteArrayInputStream(ics));
         ImmutableMap<String, Calendar> icals = ImmutableMap.of("key", calendar);
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_RAW_SOURCE, AttributeValue.ofAny(icals)))
@@ -226,6 +232,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, Calendar> icals = ImmutableMap.of("key", calendar);
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics);
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_RAW_SOURCE, AttributeValue.ofAny(rawIcals)))
@@ -247,6 +254,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics);
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES2;
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
@@ -285,6 +293,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, Calendar> icals = ImmutableMap.of("key", calendar);
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics);
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipients(MailAddressFixture.OTHER_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
@@ -333,6 +342,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics, "key2", ics2);
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
@@ -381,6 +391,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics, "key2", ics2);
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
@@ -419,6 +430,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics);
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .attribute(new Attribute(ICALToJsonAttribute.DEFAULT_SOURCE, AttributeValue.ofAny(icals)))
@@ -456,6 +468,7 @@ public class ICALToJsonAttributeTest {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES2;
         String from = MailAddressFixture.OTHER_AT_JAMES.asString();
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
@@ -493,6 +506,7 @@ public class ICALToJsonAttributeTest {
         ImmutableMap<String, byte[]> rawIcals = ImmutableMap.of("key", ics);
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES2;
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER)
             .recipient(recipient)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -530,6 +544,7 @@ public class ICALToJsonAttributeTest {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES2;
         String from = MailAddressFixture.OTHER_AT_JAMES.asString();
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addFrom(from))
diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICSSanitizerTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICSSanitizerTest.java
index 1e39fa2..6297838 100644
--- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICSSanitizerTest.java
+++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICSSanitizerTest.java
@@ -45,6 +45,7 @@ class ICSSanitizerTest {
     @Test
     void serviceShouldEnhanceTextCalendarOnlyHeaders() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageUtil.mimeMessageFromStream(ClassLoaderUtils.getSystemResourceAsSharedStream("ics_in_header.eml")))
             .build();
 
@@ -94,6 +95,7 @@ class ICSSanitizerTest {
     @Test
     void validTextCalendarShouldNotBeSanitized() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(
                 MimeMessageBuilder.mimeMessageBuilder()
                     .setMultipartWithBodyParts(
diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICalendarParserTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICalendarParserTest.java
index 801f20f..dcfe209 100644
--- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICalendarParserTest.java
+++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICalendarParserTest.java
@@ -133,6 +133,7 @@ public class ICalendarParserTest {
         mailet.init(mailetConfiguration);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .build();
 
         mailet.service(mail);
@@ -150,6 +151,7 @@ public class ICalendarParserTest {
         mailet.init(mailetConfiguration);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(new Attribute(SOURCE_CUSTOM_ATTRIBUTE_NAME, AttributeValue.of(ImmutableMap.of())))
             .build();
 
@@ -170,6 +172,7 @@ public class ICalendarParserTest {
         mailet.init(mailetConfiguration);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(new Attribute(SOURCE_CUSTOM_ATTRIBUTE_NAME, AttributeValue.of("anyValue")))
             .build();
 
@@ -193,6 +196,7 @@ public class ICalendarParserTest {
             .build();
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(SOURCE_CUSTOM_ATTRIBUTE, (Serializable) attachments)
             .build();
 
@@ -220,6 +224,7 @@ public class ICalendarParserTest {
             .put("key2", RIGHT_ICAL_VALUE.getBytes())
             .build();
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(SOURCE_CUSTOM_ATTRIBUTE, (Serializable) attachments)
             .build();
 
@@ -253,6 +258,7 @@ public class ICalendarParserTest {
             .build();
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(SOURCE_CUSTOM_ATTRIBUTE, (Serializable) attachments)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddDeliveredToHeaderTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddDeliveredToHeaderTest.java
index 76a3320..f36dad2 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddDeliveredToHeaderTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddDeliveredToHeaderTest.java
@@ -44,7 +44,7 @@ public class AddDeliveredToHeaderTest {
 
     @Test
     public void serviceShouldHandleMailWithoutRecipient() throws Exception {
-        FakeMail mail = FakeMail.builder().build();
+        FakeMail mail = FakeMail.builder().name("mail").build();
 
         testee.service(mail);
 
@@ -55,6 +55,7 @@ public class AddDeliveredToHeaderTest {
     @Test
     public void serviceShouldAddPerRecipientDeliveredToSpecificHeader() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
index fdfe437..c4bcf88 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
@@ -88,7 +88,9 @@ public class ContactExtractorTest {
 
     @Test
     public void serviceShouldNotThrowWhenJsonProcessingFails() throws Exception {
-        FakeMail mail = FakeMail.builder().mimeMessage(MimeMessageUtil.defaultMimeMessage())
+        FakeMail mail = FakeMail.builder()
+                .name("mail")
+                .mimeMessage(MimeMessageUtil.defaultMimeMessage())
                 .sender(SENDER)
                 .recipient(TO)
                 .build();
@@ -111,7 +113,9 @@ public class ContactExtractorTest {
                 .addToRecipient(TO)
                 .setSubject("Contact collection Rocks")
                 .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient(TO)
             .build();
@@ -131,7 +135,9 @@ public class ContactExtractorTest {
             .addToRecipient("To <" + TO + ">")
             .setSubject("Contact collection Rocks")
             .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient(TO)
             .build();
@@ -151,7 +157,9 @@ public class ContactExtractorTest {
             .addToRecipient("=?ISO-8859-1?Q?Beno=EEt_TELLIER?= <te...@linagora.com>")
             .setSubject("Contact collection Rocks")
             .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient(TO)
             .build();
@@ -172,7 +180,9 @@ public class ContactExtractorTest {
             + "\r\n"
             + "Please!";
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(rawMessage);
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient("recipient@example.com")
             .build();
@@ -193,7 +203,9 @@ public class ContactExtractorTest {
             + "\r\n"
             + "Please!";
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(rawMessage);
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient("recipient@example.com")
             .build();
@@ -214,7 +226,9 @@ public class ContactExtractorTest {
             + "\r\n"
             + "Please!";
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(rawMessage);
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient("recipient@example.com")
             .build();
@@ -234,7 +248,8 @@ public class ContactExtractorTest {
             .addToRecipient("To <" + TO + ">")
             .setSubject("Contact collection Rocks")
             .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail").mimeMessage(message)
             .sender(SENDER)
             .recipient(TO)
             .build();
@@ -254,7 +269,9 @@ public class ContactExtractorTest {
             .addToRecipient("To <" + TO + ">")
             .setSubject("Contact collection Rocks")
             .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .recipient(TO)
             .build();
@@ -273,7 +290,9 @@ public class ContactExtractorTest {
             .addToRecipient("To <" + TO + ">")
             .setSubject("Contact collection Rocks")
             .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .recipient(TO)
             .build();
         mailet.init(mailetConfig);
@@ -290,7 +309,9 @@ public class ContactExtractorTest {
                 .setSender(SENDER)
                 .setSubject("Contact collection Rocks")
                 .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .build();
         mailet.init(mailetConfig);
@@ -307,7 +328,9 @@ public class ContactExtractorTest {
                 .setSender(SENDER)
                 .setSubject("Contact collection Rocks")
                 .setText("This is my email");
-        FakeMail mail = FakeMail.builder().mimeMessage(message)
+        FakeMail mail = FakeMail.builder()
+            .name("mail")
+            .mimeMessage(message)
             .sender(SENDER)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
index 7857dc9..8f64af8 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
@@ -82,6 +82,7 @@ class LogMessageTest {
         mailet.init(mailetConfig);
 
         mailet.service(FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader("Date", "Tue, 16 Jan 2018 10:23:03 +0100")
                 .setSubject("subject")
@@ -247,8 +248,8 @@ class LogMessageTest {
                 "\r\n" +
                 "This is a fake mail");
         return FakeMail.builder()
-                .mimeMessage(message)
                 .name("name")
+                .mimeMessage(message)
                 .state(Mail.DEFAULT)
                 .recipient("receiver@domain.com")
                 .sender("sender@any.com")
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeadersTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeadersTest.java
index ddb4d12..2380666 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeadersTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeadersTest.java
@@ -95,6 +95,7 @@ class MailAttributesListToMimeHeadersTest {
         mailet.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MailUtil.createMimeMessage())
             .attribute(MAIL_ATTRIBUTE1)
             .attribute(MAIL_ATTRIBUTE2)
@@ -115,6 +116,7 @@ class MailAttributesListToMimeHeadersTest {
         mailet.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MailUtil.createMimeMessage())
             .attribute(MAIL_ATTRIBUTE1)
             .build();
@@ -140,6 +142,7 @@ class MailAttributesListToMimeHeadersTest {
         listWithNull.add(null);
         listWithNull.add("2");
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MailUtil.createMimeMessage())
             .attribute(Attribute.convertToAttribute(MAIL_ATTRIBUTE_NAME1, listWithNull))
             .build();
@@ -162,6 +165,7 @@ class MailAttributesListToMimeHeadersTest {
         mailet.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MailUtil.createMimeMessage())
             .attribute(MAIL_ATTRIBUTE1)
             .attribute(MAIL_ATTRIBUTE2)
@@ -187,6 +191,7 @@ class MailAttributesListToMimeHeadersTest {
 
         String firstValue = "first value";
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader(HEADER_NAME1, firstValue))
             .attribute(MAIL_ATTRIBUTE1)
@@ -209,6 +214,7 @@ class MailAttributesListToMimeHeadersTest {
         mailet.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
             .attribute(Attribute.convertToAttribute(MAIL_ATTRIBUTE_NAME1, 3L))
             .attribute(MAIL_ATTRIBUTE2)
@@ -232,6 +238,7 @@ class MailAttributesListToMimeHeadersTest {
 
         String value = "value";
         FakeMail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
             .attribute(Attribute.convertToAttribute(MAIL_ATTRIBUTE_NAME1, ImmutableList.of(3L, value)))
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
index 270000d..5ff8ccb 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
@@ -40,7 +40,7 @@ public class NullTest {
 
     @Test
     public void shouldChangeStateToGhost() throws MessagingException {
-        FakeMail mail = FakeMail.builder().build();
+        FakeMail mail = FakeMail.builder().name("mail").build();
         
         mailet.service(mail);
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
index 24adad7..db79529 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
@@ -67,6 +67,7 @@ class OnlyTextTest {
         message.saveChanges();
 
         mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -94,6 +95,7 @@ class OnlyTextTest {
         message.saveChanges();
 
         mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -127,6 +129,7 @@ class OnlyTextTest {
         message.saveChanges();
 
         mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -144,6 +147,7 @@ class OnlyTextTest {
         message.saveChanges();
 
         mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -169,6 +173,7 @@ class OnlyTextTest {
         message.saveChanges();
 
         mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/PostmasterAliasTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/PostmasterAliasTest.java
index 56ac5a1..0f93592 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/PostmasterAliasTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/PostmasterAliasTest.java
@@ -48,7 +48,7 @@ public class PostmasterAliasTest {
 
     @Test
     public void serviceShouldAcceptMailsWithNoRecipients() throws Exception {
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("mail").build();
 
         testee.service(mail);
 
@@ -58,6 +58,7 @@ public class PostmasterAliasTest {
     @Test
     public void serviceShouldNotAlterMailsForPostmaster() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(postmaster)
             .build();
 
@@ -69,6 +70,7 @@ public class PostmasterAliasTest {
     @Test
     public void serviceShouldNotAlterMailForOtherUsers() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .build();
 
@@ -81,6 +83,7 @@ public class PostmasterAliasTest {
     public void serviceShouldNotAlterPostmasterAliasWhenForOtherDomains() throws Exception {
         MailAddress otherDomainPostmaster = new MailAddress("postmaster@otherDomain");
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(otherDomainPostmaster)
             .build();
 
@@ -92,6 +95,7 @@ public class PostmasterAliasTest {
     @Test
     public void serviceShouldRewritePostmasterAlias() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(postmasterAlias)
             .build();
 
@@ -103,6 +107,7 @@ public class PostmasterAliasTest {
     @Test
     public void serviceShouldNotAlterOtherRecipientsWhenRewritingPostmaster() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(postmasterAlias, MailAddressFixture.ANY_AT_JAMES)
             .build();
 
@@ -114,6 +119,7 @@ public class PostmasterAliasTest {
     @Test
     public void serviceShouldNotDuplicatePostmaster() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(postmasterAlias, postmaster)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
index f59761f..7489b04 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
@@ -40,6 +40,7 @@ public class RecipientToLowerCaseTest {
     @Test
     public void serviceShouldPutRecipientToLowerCase() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient("THienan1234@gmail.com")
             .build();
 
@@ -55,6 +56,7 @@ public class RecipientToLowerCaseTest {
     @Test
     public void serviceShouldHaveNoEffectWhenNoRecipient() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .build();
 
         testee.service(fakeMail);
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
index 85a0dd3..f1f70d0 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
@@ -77,7 +77,7 @@ class RemoveMailAttributeTest {
                 .build();
         removeMailet.init(mailetConfig);
 
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("mail").build();
         removeMailet.service(mail);
 
         assertThat(mail.attributes()).isEmpty();
@@ -92,6 +92,7 @@ class RemoveMailAttributeTest {
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(VALUE_3)
             .build();
         removeMailet.service(mail);
@@ -108,6 +109,7 @@ class RemoveMailAttributeTest {
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(VALUE_1)
             .attribute(VALUE_2)
             .attribute(VALUE_3)
@@ -126,6 +128,7 @@ class RemoveMailAttributeTest {
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .attribute(VALUE_1)
             .attribute(VALUE_2)
             .attribute(VALUE_3)
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
index 7631b33..b3315bd 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
@@ -58,6 +58,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setSubject("one test"))
                 .build();
@@ -84,6 +85,7 @@ public class ReplaceContentTest {
         message.setText("This is one simple test/ è one simple test.\n"
             + "Blo blo blo blo.\n");
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -101,6 +103,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("aaa"))
                 .build();
@@ -118,6 +121,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setSubject("re: r:ri:one test"))
                 .build();
@@ -137,6 +141,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("Test.\r\n" + "\r\n" + "--original message--\r\n"
                         + "part of\r\n" + "message\\ that\\0 must0 be\r\n"
@@ -159,6 +164,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setSubject("one test")
                     .setText("Replacement … one test …"))
@@ -187,6 +193,7 @@ public class ReplaceContentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageSource);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(message)
                 .build();
         mailet.service(mail);
@@ -204,6 +211,7 @@ public class ReplaceContentTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setSubject("one test")
                     .setText("This is one simple test/ è one simple test.\n"
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index 4abcde2..4d244c5 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -610,7 +610,7 @@ class StripAttachmentTest {
                     .filename("removeMe.tmp"))
             .build();
 
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("mail").build();
         //When
         boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
         //Then
@@ -645,7 +645,7 @@ class StripAttachmentTest {
                     .filename("removeMe2.tmp"))
             .build();
         
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("mail").build();
         
         //When
         boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
@@ -758,7 +758,7 @@ class StripAttachmentTest {
                     .build())
             .build();
 
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("mail").build();
         //When
         boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
         //Then
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
index 0ef692d..0179ace 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
@@ -76,6 +76,7 @@ class ToProcessorTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(new MailAddress("test@james.apache.org"), new MailAddress("test2@james.apache.org"))
                 .build();
         mailet.service(mail);
@@ -96,6 +97,7 @@ class ToProcessorTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(new MailAddress("test@james.apache.org"), new MailAddress("test2@james.apache.org"))
                 .build();
         mailet.service(mail);
@@ -116,6 +118,7 @@ class ToProcessorTest {
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(new MailAddress("test@james.apache.org"), new MailAddress("test2@james.apache.org"))
                 .build();
         String initialErrorMessage = "first";
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/UseHeaderRecipientsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/UseHeaderRecipientsTest.java
index d5b294c..44120b8 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/UseHeaderRecipientsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/UseHeaderRecipientsTest.java
@@ -58,6 +58,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldSetMimeMessageRecipients() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient(RECIPIENT1, RECIPIENT2))
@@ -72,6 +73,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldSetToCcAndBccSpecifiedInTheMimeMessage() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient(RECIPIENT1)
@@ -89,6 +91,7 @@ class UseHeaderRecipientsTest {
     void serviceShouldSetEmptyRecipientWhenNoRecipientsInTheMimeMessage() throws Exception {
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .build();
@@ -102,6 +105,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldGhostEmail() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .build();
@@ -115,6 +119,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldResendTheEmail() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient(RECIPIENT1)
@@ -134,6 +139,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldThrowOnInvalidMailAddress() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(mailAddress1)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient("invalid"))
@@ -145,6 +151,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldSupportAddressList() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients()
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient(RECIPIENT1, RECIPIENT2))
@@ -159,6 +166,7 @@ class UseHeaderRecipientsTest {
     @Test
     void serviceShouldSupportMailboxes() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients()
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addToRecipient("APACHE" + "<" + UseHeaderRecipientsTest.RECIPIENT1 + ">"))
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/AllTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/AllTest.java
index 63572b8..fbefd79 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/AllTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/AllTest.java
@@ -50,6 +50,7 @@ public class AllTest {
     @Test
     public void testAllRecipientsReturned() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
index 1103040..66905f5 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
@@ -52,6 +52,7 @@ public class FetchedFromTest {
     @Test
     public void matchShouldReturnMatchWhenFetchFromHeaderHoldsRightValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, EXPECTED_HEADER_VALUE))
             .build();
@@ -62,6 +63,7 @@ public class FetchedFromTest {
     @Test
     public void matchShouldReturnNotMatchWhenFetchFromHeaderHoldsWrongValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, WRONG_HEADER_VALUE))
             .build();
@@ -72,6 +74,7 @@ public class FetchedFromTest {
     @Test
     public void matchShouldRemoveMatchingHeaders() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, EXPECTED_HEADER_VALUE))
             .build();
@@ -84,6 +87,7 @@ public class FetchedFromTest {
     @Test
     public void matchShouldNotRemoveNonMatchingHeaders() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, WRONG_HEADER_VALUE))
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasAttachmentTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasAttachmentTest.java
index 56f9fc6..8fffd03 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasAttachmentTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasAttachmentTest.java
@@ -46,6 +46,7 @@ public class HasAttachmentTest {
 
         mimeMessage = MimeMessageUtil.defaultMimeMessage();
         mail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .mimeMessage(mimeMessage)
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasHeaderWithPrefixTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasHeaderWithPrefixTest.java
index 1e85bfc..acc4846 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasHeaderWithPrefixTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasHeaderWithPrefixTest.java
@@ -56,6 +56,7 @@ class HasHeaderWithPrefixTest {
         matcher.init(matcherConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader(HEADER_NAME_PREFIX_1, "true"))
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES2)
@@ -74,6 +75,7 @@ class HasHeaderWithPrefixTest {
         matcher.init(matcherConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader(PREFIX, "true"))
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES2)
@@ -92,6 +94,7 @@ class HasHeaderWithPrefixTest {
         matcher.init(matcherConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader(HEADER_NAME_NO_PREFIX, "true"))
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES2)
@@ -110,6 +113,7 @@ class HasHeaderWithPrefixTest {
         matcher.init(matcherConfig);
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .addHeader(HEADER_NAME_PREFIX_1, "true")
                 .addHeader(HEADER_NAME_NO_PREFIX, "true"))
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeParameterTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeParameterTest.java
index 3817f44..cf01c92 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeParameterTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeParameterTest.java
@@ -45,6 +45,7 @@ class HasMimeTypeParameterTest {
     void setUp() throws MessagingException {
         matcher = new HasMimeTypeParameter();
         sampleMail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder
                 .mimeMessageBuilder()
                 .setSubject("Mail read")
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeTest.java
index a12f187..46399b4 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HasMimeTypeTest.java
@@ -64,6 +64,7 @@ public class HasMimeTypeTest {
             .setSubject("test");
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .sender(FROM)
             .recipient(RECIPIENT)
@@ -94,6 +95,7 @@ public class HasMimeTypeTest {
             .setSubject("test");
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .sender(FROM)
             .recipient(RECIPIENT)
@@ -114,6 +116,7 @@ public class HasMimeTypeTest {
             .setSubject("test");
 
         Mail mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .sender(FROM)
             .recipient(RECIPIENT)
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsLocalTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsLocalTest.java
index 2bb64cf..8d30c7e 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsLocalTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsLocalTest.java
@@ -63,6 +63,7 @@ public class HostIsLocalTest {
     @Test
     public void shouldMatchAddressesFromLocalDomain() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
@@ -72,6 +73,7 @@ public class HostIsLocalTest {
     @Test
     public void shouldMatchOnlyAddressesFromLocalDomain() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, ANY_AT_JAMES2)
             .build();
 
@@ -81,6 +83,7 @@ public class HostIsLocalTest {
     @Test
     public void shouldNotMatchAddressesFromDistantDomains() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES2, OTHER_AT_JAMES2)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsTest.java
index af342e8..987f9bf 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsTest.java
@@ -53,6 +53,7 @@ public class HostIsTest {
     @Test
     public void shouldMatchWhenRightDomain() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
@@ -62,6 +63,7 @@ public class HostIsTest {
     @Test
     public void shouldMatchOnlyWhenRightDomain() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, ANY_AT_JAMES2)
             .build();
 
@@ -71,6 +73,7 @@ public class HostIsTest {
     @Test
     public void shouldNotMatchWhenWrongDomain() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES2, OTHER_AT_JAMES2)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
index 87cebd5..ffcaf44 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
@@ -47,14 +47,14 @@ public class IsSingleRecipientTest {
 
     @Test
     public void matchShouldMatchOneRecipientsEmails() throws MessagingException {
-        FakeMail fakeMail = FakeMail.builder().recipient(ANY_AT_JAMES).build();
+        FakeMail fakeMail = FakeMail.builder().name("mail").recipient(ANY_AT_JAMES).build();
 
         assertThat(matcher.match(fakeMail)).containsExactly(ANY_AT_JAMES);
     }
 
     @Test
     public void matchShouldNotMatchMultiRecipientsEMail() throws MessagingException {
-        FakeMail fakeMail = FakeMail.builder().recipients(ANY_AT_JAMES, OTHER_AT_JAMES).build();
+        FakeMail fakeMail = FakeMail.builder().name("mail").recipients(ANY_AT_JAMES, OTHER_AT_JAMES).build();
 
         assertThat(matcher.match(fakeMail)).isNull();
     }
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientDomainIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientDomainIsTest.java
index 9bd82cb..eafe7d8 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientDomainIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientDomainIsTest.java
@@ -49,6 +49,7 @@ class RecipientDomainIsTest {
                 .condition("james.apache.org")
                 .build());
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipient(ANY_AT_JAMES)
                 .build();
         assertThat(matcher.match(fakeMail)).containsOnly(ANY_AT_JAMES);
@@ -63,6 +64,7 @@ class RecipientDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipients(ANY_AT_JAMES, ANY_AT_JAMES2)
                 .build();
 
@@ -78,6 +80,7 @@ class RecipientDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipients(OTHER_AT_JAMES2, ANY_AT_JAMES2)
                 .build();
 
@@ -103,6 +106,7 @@ class RecipientDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipients(ANY_AT_JAMES, OTHER_AT_JAMES2, ANY_AT_JAMES2)
                 .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsLocalTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsLocalTest.java
index b45ac0a..eb459f7 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsLocalTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsLocalTest.java
@@ -52,6 +52,7 @@ public class RecipientIsLocalTest {
         mailAddress1 = new MailAddress("mail1@domain.com");
         mailAddress2 = new MailAddress("mail2@domain.com");
         mail = FakeMail.builder()
+                .name("mail")
                 .recipients(mailAddress1, mailAddress2)
                 .build();
     }
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsRegexTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsRegexTest.java
index e0710d9..d9576c3 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsRegexTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsRegexTest.java
@@ -49,6 +49,7 @@ class RecipientIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
 
@@ -63,6 +64,7 @@ class RecipientIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
 
@@ -77,6 +79,7 @@ class RecipientIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
@@ -91,6 +94,7 @@ class RecipientIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsTest.java
index 95f4781..0e73d9b 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RecipientIsTest.java
@@ -50,6 +50,7 @@ class RecipientIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
 
@@ -64,6 +65,7 @@ class RecipientIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
@@ -78,6 +80,7 @@ class RecipientIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(OTHER_AT_JAMES, ANY_AT_JAMES2)
             .build();
 
@@ -110,6 +113,7 @@ class RecipientIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RelayLimitTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RelayLimitTest.java
index 4025c12..dc0f7ef 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/RelayLimitTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/RelayLimitTest.java
@@ -45,6 +45,7 @@ class RelayLimitTest {
         testee = new RelayLimit();
         mimeMessage = MimeMessageUtil.defaultMimeMessage();
         mail = FakeMail.builder()
+                .name("mail")
                 .recipient(ANY_AT_JAMES)
                 .mimeMessage(mimeMessage)
                 .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPAuthSuccessfulTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPAuthSuccessfulTest.java
index 7a36347..f4ed46d 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPAuthSuccessfulTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPAuthSuccessfulTest.java
@@ -50,6 +50,7 @@ public class SMTPAuthSuccessfulTest {
     public void matchShouldReturnRecipientsWhenAuthUserAttributeIsPresent() throws Exception {
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .attribute(new Attribute(Mail.SMTP_AUTH_USER, AttributeValue.of("other")))
             .build();
@@ -62,6 +63,7 @@ public class SMTPAuthSuccessfulTest {
     @Test
     public void matchShouldNotReturnRecipientsWhenAuthUserAttributeIsAbsent() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.OTHER_AT_JAMES)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPIsAuthNetworkTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPIsAuthNetworkTest.java
index 30b68a4..ef0994b 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPIsAuthNetworkTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SMTPIsAuthNetworkTest.java
@@ -41,6 +41,7 @@ public class SMTPIsAuthNetworkTest {
     @Test
     public void matchShouldReturnEmptyWhenNoSmtpInformation() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .build();
 
@@ -51,6 +52,7 @@ public class SMTPIsAuthNetworkTest {
     @Test
     public void matchShouldReturnAddressesWhenAuthorizedNetwork() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .attribute(SMTPIsAuthNetwork.makeAttribute(true))
             .build();
@@ -62,6 +64,7 @@ public class SMTPIsAuthNetworkTest {
     @Test
     public void matchShouldReturnEmptyWhenNonAuthorizedNetwork() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .attribute(SMTPIsAuthNetwork.makeAttribute(false))
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderDomainIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderDomainIsTest.java
index c74a741..ee8bc5c 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderDomainIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderDomainIsTest.java
@@ -50,6 +50,7 @@ class SenderDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender(SENDER_NAME)
                 .recipient(recipient)
                 .build();
@@ -67,6 +68,7 @@ class SenderDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipient(recipient)
                 .sender("other@james7.apache.org")
                 .build();
@@ -84,6 +86,7 @@ class SenderDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .recipient(recipient)
                 .build();
 
@@ -100,6 +103,7 @@ class SenderDomainIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+                .name("mail")
                 .sender(MailAddress.nullSender())
                 .recipient(recipient)
                 .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsLocalTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsLocalTest.java
index 53cdb6f..24864f6 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsLocalTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsLocalTest.java
@@ -65,6 +65,7 @@ public class SenderHostIsLocalTest {
     public void shouldMatchWhenSenderHostIsLocal() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(ANY_AT_JAMES)
             .recipient(ANY_AT_JAMES2)
             .build();
@@ -78,6 +79,7 @@ public class SenderHostIsLocalTest {
     public void shouldNotMatchWhenSenderHostIsNotLocal() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(ANY_AT_JAMES2)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -91,6 +93,7 @@ public class SenderHostIsLocalTest {
     public void shouldNotMatchWhenNullSender() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(MailAddress.nullSender())
             .recipient(ANY_AT_JAMES)
             .build();
@@ -104,6 +107,7 @@ public class SenderHostIsLocalTest {
     public void shouldNotMatchWhenNoSender() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
         //When
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsTest.java
index 8089e25..10cfd97 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderHostIsTest.java
@@ -62,6 +62,7 @@ public class SenderHostIsTest {
         matcher.init(mci);
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .sender(ANY_AT_JAMES2)
                 .recipient(ANY_AT_JAMES2)
                 .build();
@@ -81,6 +82,7 @@ public class SenderHostIsTest {
                 .build());
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .sender(ANY_AT_JAMES2)
                 .recipient(ANY_AT_JAMES2)
                 .build();
@@ -101,6 +103,7 @@ public class SenderHostIsTest {
                 .build());
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .sender(ANY_AT_JAMES2)
                 .recipient(ANY_AT_JAMES2)
                 .build();
@@ -120,6 +123,7 @@ public class SenderHostIsTest {
                 .build());
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .sender(ANY_AT_JAMES2)
                 .recipient(ANY_AT_JAMES2)
                 .build();
@@ -139,6 +143,7 @@ public class SenderHostIsTest {
                 .build());
 
         Mail mail = FakeMail.builder()
+                .name("mail")
                 .recipient(ANY_AT_JAMES2)
                 .build();
         //When
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsLocalTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsLocalTest.java
index 1736ce3..a9023aa 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsLocalTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsLocalTest.java
@@ -63,6 +63,7 @@ public class SenderIsLocalTest {
     public void shouldMatchWhenLocalSender() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(ANY_AT_JAMES)
             .recipient(ANY_AT_JAMES2)
             .build();
@@ -76,6 +77,7 @@ public class SenderIsLocalTest {
     public void shouldNotMatchWhenSenderIsUnknown() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(OTHER_AT_JAMES)
             .recipient(ANY_AT_JAMES2)
             .build();
@@ -89,6 +91,7 @@ public class SenderIsLocalTest {
     public void shouldNotMatchWhenHostIsNotLocal() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(ANY_AT_JAMES2)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -102,6 +105,7 @@ public class SenderIsLocalTest {
     public void shouldNotMatchWhenNullSender() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .sender(MailAddress.nullSender())
             .recipient(ANY_AT_JAMES)
             .build();
@@ -115,6 +119,7 @@ public class SenderIsLocalTest {
     public void shouldNotMatchWhenNoSender() throws MessagingException {
         //Given
         Mail mail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
         //When
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsNullTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsNullTest.java
index 78d898a..a2d6165 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsNullTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsNullTest.java
@@ -44,6 +44,7 @@ class SenderIsNullTest {
     @Test
     void shouldMatchWhenNoSender() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
 
@@ -53,6 +54,7 @@ class SenderIsNullTest {
     @Test
     void shouldMatchWhenNullSender() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .sender(MailAddress.nullSender())
             .build();
@@ -63,6 +65,7 @@ class SenderIsNullTest {
     @Test
     void shouldNotMatchWhenSenderIsPresent() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .sender("other@james.apache.org")
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsRegexTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsRegexTest.java
index d1249e8..cde39f4 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsRegexTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsRegexTest.java
@@ -51,6 +51,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER_NAME)
             .recipient(recipient)
             .build();
@@ -66,6 +67,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER_NAME)
             .recipient(recipient)
             .build();
@@ -81,6 +83,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .build();
 
@@ -95,6 +98,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender(MailAddress.nullSender())
             .build();
@@ -110,6 +114,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender(MailAddress.nullSender())
             .build();
@@ -125,6 +130,7 @@ class SenderIsRegexTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .sender(SENDER_NAME)
             .recipient(recipient)
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
index 385bd68..6dc17d2 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
@@ -54,6 +54,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender(SENDER_NAME)
             .build();
@@ -69,6 +70,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender(MailAddress.nullSender())
             .build();
@@ -84,6 +86,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .build();
 
@@ -98,6 +101,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender(MailAddress.nullSender())
             .build();
@@ -113,6 +117,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .build();
 
@@ -127,6 +132,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .sender("other@james.apache.org")
             .build();
@@ -142,6 +148,7 @@ class SenderIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SentByMailetTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SentByMailetTest.java
index a89754a..19d0015 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SentByMailetTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SentByMailetTest.java
@@ -50,6 +50,7 @@ public class SentByMailetTest {
     public void matchShouldReturnRecipientsWhenAuthUserAttributeIsPresent() throws Exception {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES;
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(recipient)
             .attribute(Mail.SENT_BY_MAILET_ATTRIBUTE)
             .build();
@@ -62,6 +63,7 @@ public class SentByMailetTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenAuthUserAttributeIsAbsent() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .build();
 
@@ -73,6 +75,7 @@ public class SentByMailetTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenAuthUserAttributeIsAbsentAndThereIsNoRecipient() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients()
             .build();
 
@@ -84,6 +87,7 @@ public class SentByMailetTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenAuthUserAttributeIsPresentAndThereIsNoRecipient() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients()
             .attribute(Mail.SENT_BY_MAILET_ATTRIBUTE)
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
index 2ef630f..179baaa 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
@@ -44,6 +44,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldMatchWhenMailAboveSize() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(2000000)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -61,6 +62,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldNotMatchWhenMailUnderSize() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(200000)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -78,6 +80,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldNotMatchMailsWithSpecifiedSize() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(1024)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -95,6 +98,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldMatchMailsWithSizeSuperiorToSpecifiedSize() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(1025)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -112,6 +116,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldReturnNullWhenUnderLimitNoUnit() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(4)
             .recipient(ANY_AT_JAMES)
             .build();
@@ -129,6 +134,7 @@ class SizeGreaterThanTest {
     @Test
     void matchShouldMatchOverLimitWhenNoUnit() throws MessagingException {
         Mail mail = FakeMail.builder()
+            .name("mail")
             .size(5)
             .recipient(ANY_AT_JAMES)
             .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectIsTest.java
index 22f5c75..a0e1164 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectIsTest.java
@@ -46,6 +46,7 @@ public class SubjectIsTest {
     @Test
     public void shouldMatchWhenSubjectEqualsConfiguredValue() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MailUtil.createMimeMessageWithSubject("test"))
                 .recipients(roger)
                 .build();
@@ -63,6 +64,7 @@ public class SubjectIsTest {
     @Test
     public void shouldNotMatchWhenSubjectDoesntEqualsConfiguredValue() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MailUtil.createMimeMessageWithSubject("foobar"))
                 .recipients(roger)
                 .build();
@@ -80,6 +82,7 @@ public class SubjectIsTest {
     @Test
     public void shouldNotMatchWhenNoSubject() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .mimeMessage(MailUtil.createMimeMessageWithSubject(null))
                 .recipients(roger)
                 .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectStartsWithTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectStartsWithTest.java
index a590b9b..a9006f8 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectStartsWithTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SubjectStartsWithTest.java
@@ -46,6 +46,7 @@ public class SubjectStartsWithTest {
     @Test
     public void shouldMatchWhenSubjectStartsWithConfiguredValue() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(roger)
                 .mimeMessage(MailUtil.createMimeMessageWithSubject("testSubject"))
                 .build();
@@ -63,6 +64,7 @@ public class SubjectStartsWithTest {
     @Test
     public void shouldNotMatchWhenSubjectDoesntStartWithConfiguredValue() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(roger)
                 .mimeMessage(MailUtil.createMimeMessageWithSubject("foobar"))
                 .build();
@@ -81,6 +83,7 @@ public class SubjectStartsWithTest {
     @Test
     public void shouldNotMatchWhenNoSubject() throws MessagingException {
         FakeMail mail = FakeMail.builder()
+                .name("mail")
                 .recipients(roger)
                 .mimeMessage(MailUtil.createMimeMessageWithSubject(null))
                 .build();
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyLinesTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyLinesTest.java
index 29a8495..3de804a 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyLinesTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyLinesTest.java
@@ -97,7 +97,7 @@ class TooManyLinesTest {
             .matcherName("name")
             .build());
 
-        Collection<MailAddress> result = testee.match(FakeMail.builder().build());
+        Collection<MailAddress> result = testee.match(FakeMail.builder().name("mail").build());
 
         assertThat(result).isEmpty();
 
@@ -111,6 +111,7 @@ class TooManyLinesTest {
             .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setMultipartWithBodyParts(MimeMessageBuilder.bodyPartBuilder()
                     .data("content")))
@@ -126,6 +127,7 @@ class TooManyLinesTest {
         testee.init(FakeMatcherConfig.builder().condition("10").matcherName("name").build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setMultipartWithBodyParts(
                     MimeMessageBuilder.bodyPartBuilder()
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyRecipientsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyRecipientsTest.java
index 1aa47b8..de9b810 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyRecipientsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/TooManyRecipientsTest.java
@@ -99,7 +99,7 @@ class TooManyRecipientsTest {
             .matcherName("matcherName")
             .build());
 
-        Collection<MailAddress> result = testee.match(FakeMail.builder().build());
+        Collection<MailAddress> result = testee.match(FakeMail.builder().name("mail").build());
 
         assertThat(result).isEmpty();
     }
@@ -112,6 +112,7 @@ class TooManyRecipientsTest {
             .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient("cuong.tran@gmail.com")
             .build();
 
@@ -129,6 +130,7 @@ class TooManyRecipientsTest {
             .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients("cuong.tran@gmail.com", "suu.tran@gmail.com", "tuan.tran@gmail.com")
             .build();
 
@@ -152,6 +154,7 @@ class TooManyRecipientsTest {
 
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(mailAddresses)
             .build();
 
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/UserIsTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/UserIsTest.java
index 2b89b45..63caa07 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/UserIsTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/UserIsTest.java
@@ -50,6 +50,7 @@ class UserIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipient(ANY_AT_JAMES)
             .build();
 
@@ -64,6 +65,7 @@ class UserIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, ANY_AT_JAMES2)
             .build();
 
@@ -78,6 +80,7 @@ class UserIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(ANY_AT_JAMES, OTHER_AT_JAMES)
             .build();
 
@@ -92,6 +95,7 @@ class UserIsTest {
                 .build());
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("mail")
             .recipients(OTHER_AT_JAMES)
             .build();
 
diff --git a/mailet/test/src/main/java/org/apache/mailet/base/test/FakeMail.java b/mailet/test/src/main/java/org/apache/mailet/base/test/FakeMail.java
index 8260230..4ac9fe2 100644
--- a/mailet/test/src/main/java/org/apache/mailet/base/test/FakeMail.java
+++ b/mailet/test/src/main/java/org/apache/mailet/base/test/FakeMail.java
@@ -70,6 +70,7 @@ public class FakeMail implements Mail {
 
     public static FakeMail fromMessage(MimeMessageBuilder message) throws MessagingException {
         return FakeMail.builder()
+            .name("from-message-builder")
             .mimeMessage(message)
             .build();
     }
@@ -78,12 +79,14 @@ public class FakeMail implements Mail {
         Properties javamailProperties = new Properties();
         javamailProperties.setProperty("mail.mime.charset", javamailDefaultEncodingCharset);
         return FakeMail.builder()
+                .name("from-mime-string")
                 .mimeMessage(MimeMessageUtil.mimeMessageFromBytes((text.getBytes(javaEncodingCharset))))
                 .build();
     }
 
     public static FakeMail from(MimeMessage message) throws MessagingException {
         return builder()
+                .name("from-message")
                 .mimeMessage(message)
                 .build();
     }
@@ -92,16 +95,20 @@ public class FakeMail implements Mail {
         return from(message.build());
     }
 
-    public static Builder builder() {
-        return new Builder();
+    public static RequireName builder() {
+        return Builder::new;
+    }
+
+    public interface RequireName {
+        Builder name(String name);
     }
 
     public static class Builder {
 
+        private final String name;
         private Optional<String> fileName;
         private Optional<MimeMessage> mimeMessage;
         private List<MailAddress> recipients;
-        private Optional<String> name;
         private Optional<MailAddress> sender;
         private Optional<String> state;
         private Optional<String> errorMessage;
@@ -112,11 +119,13 @@ public class FakeMail implements Mail {
         private Optional<String> remoteHost;
         private PerRecipientHeaders perRecipientHeaders;
 
-        private Builder() {
+        private Builder(String name) {
+            Preconditions.checkNotNull(name);
+            Preconditions.checkArgument(!name.isEmpty(), "name must not be empty");
+            this.name = name;
             fileName = Optional.empty();
             mimeMessage = Optional.empty();
             recipients = Lists.newArrayList();
-            name = Optional.empty();
             sender = Optional.empty();
             state = Optional.empty();
             errorMessage = Optional.empty();
@@ -184,17 +193,6 @@ public class FakeMail implements Mail {
             return recipients(recipient);
         }
 
-        public Builder name(String name) {
-            Preconditions.checkNotNull(name, "'name' can not be null");
-            name(Optional.of(name));
-            return this;
-        }
-
-        public Builder name(Optional<String> name) {
-            this.name = name;
-            return this;
-        }
-
         public Builder sender(MailAddress sender) {
             Preconditions.checkNotNull(sender, "'sender' can not be null");
             sender(MaybeSender.of(sender));
@@ -285,7 +283,7 @@ public class FakeMail implements Mail {
         }
 
         public FakeMail build() throws MessagingException {
-            return new FakeMail(getMimeMessage(), recipients, name.orElse(null), sender.orElse(null), state.orElse(null), errorMessage.orElse(null), lastUpdated.orElse(null),
+            return new FakeMail(getMimeMessage(), recipients, name, sender.orElse(null), state.orElse(null), errorMessage.orElse(null), lastUpdated.orElse(null),
                 attributes, size.orElse(0L), remoteAddr.orElse(DEFAULT_REMOTE_ADDRESS), remoteHost.orElse(DEFAULT_REMOTE_HOST), perRecipientHeaders);
         }
 
@@ -299,7 +297,7 @@ public class FakeMail implements Mail {
     }
 
     public static FakeMail defaultFakeMail() throws MessagingException {
-        return FakeMail.builder().build();
+        return FakeMail.builder().name("default-id").build();
     }
 
     private static ImmutableMap<AttributeName, Attribute> toAttributeMap(Map<String, ?> attributes) {
@@ -343,9 +341,9 @@ public class FakeMail implements Mail {
     @Override
     public Mail duplicate() throws MessagingException {
         return builder()
+            .name(name)
             .mimeMessage(msg)
             .recipients(ImmutableList.copyOf(recipients))
-            .name(Optional.ofNullable(name))
             .sender(MaybeSender.of(sender))
             .state(Optional.ofNullable(state))
             .errorMessage(Optional.ofNullable(errorMessage))
@@ -364,6 +362,8 @@ public class FakeMail implements Mail {
 
     @Override
     public void setName(String newName) {
+        Preconditions.checkNotNull(newName);
+        Preconditions.checkArgument(!newName.isEmpty(), "name must not be empty");
         this.name = newName;
     }
 
diff --git a/mailet/test/src/test/java/org/apache/mailet/base/test/FakeMailTest.java b/mailet/test/src/test/java/org/apache/mailet/base/test/FakeMailTest.java
index 5d6a2dc..a31c091 100644
--- a/mailet/test/src/test/java/org/apache/mailet/base/test/FakeMailTest.java
+++ b/mailet/test/src/test/java/org/apache/mailet/base/test/FakeMailTest.java
@@ -39,7 +39,7 @@ public class FakeMailTest extends ContractMailTest {
     @Override
     public FakeMail newMail() {
         try {
-            return FakeMail.builder().build();
+            return FakeMail.builder().name("mail").build();
         } catch (MessagingException e) {
             throw new RuntimeException(e);
         }
@@ -57,6 +57,7 @@ public class FakeMailTest extends ContractMailTest {
     public void getMaybeSenderShouldHandleNullSender() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .sender(MailAddress.nullSender())
                 .build()
                 .getMaybeSender())
@@ -67,6 +68,7 @@ public class FakeMailTest extends ContractMailTest {
     public void getMaybeSenderShouldHandleNoSender() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .build()
                 .getMaybeSender())
             .isEqualTo(MaybeSender.nullSender());
@@ -76,6 +78,7 @@ public class FakeMailTest extends ContractMailTest {
     public void getMaybeSenderShouldHandleSender() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .sender(MailAddressFixture.SENDER)
                 .build()
                 .getMaybeSender())
@@ -86,6 +89,7 @@ public class FakeMailTest extends ContractMailTest {
     public void hasSenderShouldReturnFalseWhenSenderIsNull() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .sender(MailAddress.nullSender())
                 .build()
                 .hasSender())
@@ -96,6 +100,7 @@ public class FakeMailTest extends ContractMailTest {
     public void hasSenderShouldReturnFalseWhenSenderIsNotSpecified() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .build()
                 .hasSender())
             .isFalse();
@@ -105,6 +110,7 @@ public class FakeMailTest extends ContractMailTest {
     public void hasSenderShouldReturnTrueWhenSenderIsSpecified() throws MessagingException {
         assertThat(
             FakeMail.builder()
+                .name("mail")
                 .sender(MailAddressFixture.SENDER)
                 .build()
                 .hasSender())
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
index 1941e0d..b33fe70 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
@@ -86,6 +86,7 @@ public class AddFooterTest {
     public void shouldAddFooterWhenSimpleMessage() throws Exception {
         smtpMessageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("Any content")
                     .setSubject("test"))
@@ -104,6 +105,7 @@ public class AddFooterTest {
     public void shouldAddFooterWhenMultipartMessage() throws Exception {
         smtpMessageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setMultipartWithBodyParts(
                         MimeMessageBuilder.bodyPartBuilder()
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
index 05d2dcd..0707109 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
@@ -161,6 +161,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS));
@@ -179,6 +180,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS));
@@ -197,6 +199,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(CEDRIC_ADDRESS)
                 .recipient(ALICE_ADDRESS));
@@ -215,6 +218,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(GROUP_ADDRESS));
@@ -233,6 +237,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(GROUP_ALIAS));
@@ -251,6 +256,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS_2));
@@ -269,6 +275,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(CEDRIC_ADDRESS)
                 .recipient(BOB_ALIAS));
@@ -295,6 +302,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(aliasWithSlash));
@@ -314,6 +322,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS));
@@ -332,6 +341,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS));
@@ -354,6 +364,7 @@ public class AliasMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(ALICE_ADDRESS)
                 .recipient(BOB_ALIAS));
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
index 0b46621..b1ff14d 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
@@ -132,6 +132,7 @@ public class AmqpForwardAttachmentTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(FROM)
                 .recipient(RECIPIENT));
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DlpIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DlpIntegrationTest.java
index 32f4ad0..a92c685 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DlpIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DlpIntegrationTest.java
@@ -133,6 +133,7 @@ public class DlpIntegrationTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addToRecipient(RECIPIENT)
                     .setSender(FROM)
@@ -165,6 +166,7 @@ public class DlpIntegrationTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addToRecipient(RECIPIENT)
                     .setSender(FROM)
@@ -203,6 +205,7 @@ public class DlpIntegrationTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addToRecipient(RECIPIENT)
                     .setSender(FROM)
@@ -241,6 +244,7 @@ public class DlpIntegrationTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .addToRecipient(RECIPIENT)
                     .setSender(FROM)
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
index 9d37846..b326d48 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
@@ -154,6 +154,7 @@ public class GroupMappingRelayTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index 6dde31f..150ab6c 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -156,6 +156,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -173,6 +174,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -192,6 +194,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -214,6 +217,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -235,6 +239,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -251,6 +256,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipients(GROUP_ON_DOMAIN1, USER_DOMAIN1));
@@ -271,6 +277,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -298,6 +305,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -315,6 +323,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipients(GROUP_ON_DOMAIN1, USER_DOMAIN2));
@@ -333,6 +342,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipients(GROUP_ON_DOMAIN1, USER_DOMAIN2));
@@ -351,6 +361,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipients(GROUP_ON_DOMAIN1, USER_DOMAIN2));
@@ -369,6 +380,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipients(GROUP_ON_DOMAIN1, USER_DOMAIN2));
@@ -386,6 +398,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -404,6 +417,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -422,6 +436,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient((GROUP_ON_DOMAIN1)));
@@ -440,6 +455,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(groupWithSlash));
@@ -459,6 +475,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
@@ -477,6 +494,7 @@ public class GroupMappingTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(SENDER)
                 .recipient(GROUP_ON_DOMAIN1));
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
index b91f664..0231813 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
@@ -561,6 +561,7 @@ public class ICSAttachmentWorkflowTest {
     public void calendarAttachmentShouldNotBePublishedInMQWhenNoICalAttachment() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithoutICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -577,6 +578,7 @@ public class ICSAttachmentWorkflowTest {
     public void calendarAttachmentShouldBePublishedInMQWhenMatchingWorkflowConfiguration() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -609,6 +611,7 @@ public class ICSAttachmentWorkflowTest {
     public void headersShouldNotBeAddedInMailWhenNoICalAttachment() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithoutICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -630,6 +633,7 @@ public class ICSAttachmentWorkflowTest {
     public void headersShouldBeAddedInMailWhenOneICalAttachment() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -650,6 +654,7 @@ public class ICSAttachmentWorkflowTest {
     public void headersShouldBeAddedInMailWhenOneBase64ICalAttachment() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithICSBase64Attached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -670,6 +675,7 @@ public class ICSAttachmentWorkflowTest {
     public void base64CalendarAttachmentShouldBePublishedInMQWhenMatchingWorkflowConfiguration() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithICSBase64Attached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -695,6 +701,7 @@ public class ICSAttachmentWorkflowTest {
     public void yahooBase64CalendarAttachmentShouldBePublishedInMQWhenMatchingWorkflowConfiguration() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(yahooInvitationMessage)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -721,6 +728,7 @@ public class ICSAttachmentWorkflowTest {
     public void headersShouldBeFilledOnlyWithOneICalAttachmentWhenMailHasSeveral() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithThreeICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -741,6 +749,7 @@ public class ICSAttachmentWorkflowTest {
     public void pipelineShouldSendSeveralJSONOverRabbitMQWhenSeveralAttachments() throws Exception {
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(messageWithThreeICSAttached)
                 .sender(FROM)
                 .recipient(RECIPIENT));
@@ -779,6 +788,7 @@ public class ICSAttachmentWorkflowTest {
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FakeMail.builder()
+                .name("name")
                 .mimeMessage(calendarMessage)
                 .sender(FROM)
                 .recipient(RECIPIENT));
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index 4c144cd..a812472 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -176,6 +176,7 @@ public class SpamAssassinTest {
 
     private FakeMail.Builder mailWithContent(String textContent, String... recipients) throws MessagingException {
         return FakeMail.builder()
+            .name("name")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setSender(FROM)
                 .addToRecipient(recipients)
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index b747d74..09c85c5 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -371,6 +371,7 @@ public class JamesMailetContextTest {
 
         String otherState = "other";
         testee.sendMail(FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.SENDER)
             .recipient(MailAddressFixture.RECIPIENT1)
             .mimeMessage(message)
@@ -393,6 +394,7 @@ public class JamesMailetContextTest {
             .build();
 
         testee.sendMail(FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.SENDER)
             .recipient(MailAddressFixture.RECIPIENT1)
             .mimeMessage(message)
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/AndTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/AndTest.java
index aa58549..c7fa744 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/AndTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/AndTest.java
@@ -48,7 +48,7 @@ public class AndTest {
 
         testee = new And();
 
-        mail = FakeMail.builder().recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2).build();
+        mail = FakeMail.builder().name("name").recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2).build();
     }
 
     @Test
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/NotTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/NotTest.java
index 0d718e8..a4ae153 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/NotTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/NotTest.java
@@ -54,7 +54,7 @@ public class NotTest {
         recipient2 = new MailAddress("other@apahe.org");
         recipient3 = new MailAddress("bis@apache.org");
         recipient4 = new MailAddress("yet@apache.org");
-        mail = FakeMail.builder().recipients(recipient1, recipient2, recipient3, recipient4).build();
+        mail = FakeMail.builder().name("name").recipients(recipient1, recipient2, recipient3, recipient4).build();
     }
 
     @Test
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/OrTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/OrTest.java
index 27e9368..f3722b8 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/OrTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/OrTest.java
@@ -50,7 +50,7 @@ public class OrTest {
 
         testee = new Or();
 
-        mail = FakeMail.builder().recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2, OTHER_AT_JAMES2).build();
+        mail = FakeMail.builder().name("name").recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2, OTHER_AT_JAMES2).build();
     }
 
     @Test
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/XorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/XorTest.java
index 35b298f..4ca0127 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/XorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/matchers/XorTest.java
@@ -49,7 +49,7 @@ public class XorTest {
 
         testee = new Xor();
 
-        mail = FakeMail.builder().recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2, OTHER_AT_JAMES2).build();
+        mail = FakeMail.builder().name("name").recipients(ANY_AT_JAMES, OTHER_AT_JAMES, ANY_AT_JAMES2, OTHER_AT_JAMES2).build();
     }
 
     @Test
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
index 2aa4ada..b001761 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
@@ -107,8 +107,8 @@ public class BounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
-            .sender(senderMailAddress)
             .name(MAILET_NAME)
+            .sender(senderMailAddress)
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setText("My content"))
@@ -176,8 +176,8 @@ public class BounceTest {
 
         String initialState = "initial";
         FakeMail mail = FakeMail.builder()
-            .state(initialState)
             .name(MAILET_NAME)
+            .state(initialState)
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setText("My content"))
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 1d78553..0a76c6b 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
@@ -127,10 +127,10 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -157,11 +157,11 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -198,11 +198,11 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -237,11 +237,11 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
@@ -277,10 +277,10 @@ public class DSNBounceTest {
         dsnBounce.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
@@ -300,10 +300,10 @@ public class DSNBounceTest {
         dsnBounce.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
@@ -324,10 +324,10 @@ public class DSNBounceTest {
         dsnBounce.init(mailetConfig);
 
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .attribute("delivery-error", "Delivery error")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
@@ -349,10 +349,10 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -383,8 +383,8 @@ public class DSNBounceTest {
             .setText("My content")
             .build();
         FakeMail mail = FakeMail.builder()
-            .sender(senderMailAddress)
             .name(MAILET_NAME)
+            .sender(senderMailAddress)
             .recipient("recipient@domain.com")
             .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
             .mimeMessage(mimeMessage)
@@ -417,12 +417,12 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content")
                     .addHeader("myHeader", "myValue")
                     .setSubject("mySubject"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -454,10 +454,10 @@ public class DSNBounceTest {
 
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content"))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
@@ -484,11 +484,11 @@ public class DSNBounceTest {
         MailAddress senderMailAddress = new MailAddress("sender@domain.com");
         String expectedDate = "Wed, 28 Sep 2016 14:25:52 +0000 (UTC)";
         FakeMail mail = FakeMail.builder()
+                .name(MAILET_NAME)
                 .sender(senderMailAddress)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setText("My content")
                     .addHeader(RFC2822Headers.DATE, expectedDate))
-                .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
                 .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/MetricsMailetTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/MetricsMailetTest.java
index 49a21ac..30a3d8e 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/MetricsMailetTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/MetricsMailetTest.java
@@ -67,7 +67,7 @@ public class MetricsMailetTest {
             .setProperty(MetricsMailet.METRIC_NAME, "metricName")
             .build());
 
-        mailet.service(FakeMail.builder().build());
+        mailet.service(FakeMail.builder().name("name").build());
 
         verify(metric).increment();
         verifyNoMoreInteractions(metric);
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
index 93ab2bc..6290fab 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
@@ -68,7 +68,7 @@ public class RecipientRewriteTableProcessorTest {
         MockitoAnnotations.initMocks(this);
         mailetContext = FakeMailContext.defaultContext();
         processor = new RecipientRewriteTableProcessor(virtualTableStore, domainList, mailetContext);
-        mail = FakeMail.builder().sender(MailAddressFixture.ANY_AT_JAMES).build();
+        mail = FakeMail.builder().name("mail").sender(MailAddressFixture.ANY_AT_JAMES).build();
         mappings = MappingsImpl.builder()
                 .add(MailAddressFixture.ANY_AT_JAMES.toString())
                 .build();
@@ -86,7 +86,7 @@ public class RecipientRewriteTableProcessorTest {
                 .add(MailAddressFixture.OTHER_AT_JAMES.toString())
                 .build();
 
-        processor.handleMappings(mappings, FakeMail.builder().sender(MailAddressFixture.ANY_AT_JAMES).build(), MailAddressFixture.OTHER_AT_JAMES);
+        processor.handleMappings(mappings, FakeMail.builder().name("mail").sender(MailAddressFixture.ANY_AT_JAMES).build(), MailAddressFixture.OTHER_AT_JAMES);
     }
 
     @Test
@@ -224,6 +224,7 @@ public class RecipientRewriteTableProcessorTest {
         when(virtualTableStore.getResolvedMappings(any(String.class), any(Domain.class))).thenReturn(null);
 
         mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES)
             .build();
@@ -238,6 +239,7 @@ public class RecipientRewriteTableProcessorTest {
         when(virtualTableStore.getResolvedMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(ErrorMappingException.class);
 
         mail = FakeMail.builder()
+            .name("mail")
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(message)
             .recipients(MailAddressFixture.OTHER_AT_LOCAL, MailAddressFixture.ANY_AT_LOCAL)
@@ -262,6 +264,7 @@ public class RecipientRewriteTableProcessorTest {
         when(virtualTableStore.getResolvedMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(RecipientRewriteTableException.class);
 
         mail = FakeMail.builder()
+            .name("mail")
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(message)
             .recipients(MailAddressFixture.OTHER_AT_LOCAL, MailAddressFixture.ANY_AT_LOCAL)
@@ -286,6 +289,7 @@ public class RecipientRewriteTableProcessorTest {
         when(virtualTableStore.getResolvedMappings(any(String.class), any(Domain.class))).thenReturn(null);
 
         mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .recipients(MailAddressFixture.ANY_AT_JAMES, nonDomainWithDefaultLocal)
             .build();
@@ -301,6 +305,7 @@ public class RecipientRewriteTableProcessorTest {
         when(domainList.getDefaultDomain()).thenReturn(Domain.of(MailAddressFixture.JAMES_LOCAL));
 
         mail = FakeMail.builder()
+            .name("mail")
             .mimeMessage(message)
             .recipients(MailAddressFixture.OTHER_AT_JAMES, nonDomainWithDefaultLocal)
             .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
index 903a32a..b79eda6 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
@@ -61,7 +61,7 @@ public class RecipientRewriteTableTest {
             .mailetContext(mailetContext)
             .build();
 
-        mail = FakeMail.builder().build();
+        mail = FakeMail.builder().name("name").build();
     }
 
     @Test
@@ -83,6 +83,7 @@ public class RecipientRewriteTableTest {
     public void serviceShouldWork() throws Exception {
         mailet.init(mailetConfig);
         mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES)
             .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithPriorityTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithPriorityTest.java
index 4814a66..76fbdaf 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithPriorityTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithPriorityTest.java
@@ -114,7 +114,7 @@ public class WithPriorityTest {
             .build();
 
         mailet.init(mockedMailetConfig);
-        Mail mail = FakeMail.builder().build();
+        Mail mail = FakeMail.builder().name("name").build();
         mailet.service(mail);
 
         assertThat(mail.getAttribute(MailPrioritySupport.MAIL_PRIORITY)).contains(PROPERTY_PRIORITY);
@@ -129,6 +129,7 @@ public class WithPriorityTest {
 
         mailet.init(mockedMailetConfig);
         Mail mail = FakeMail.builder()
+                .name("name")
                 .attribute(new Attribute(MailPrioritySupport.MAIL_PRIORITY, AttributeValue.of(5)))
                 .build();
         mailet.service(mail);
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
index 1c26498..518baab 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
@@ -69,6 +69,7 @@ public class WithStorageDirectiveTest {
             .build());
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.RECIPIENT1, MailAddressFixture.RECIPIENT2)
             .build();
 
@@ -90,6 +91,7 @@ public class WithStorageDirectiveTest {
             .build());
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients()
             .build();
 
@@ -111,6 +113,7 @@ public class WithStorageDirectiveTest {
             .build());
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.RECIPIENT1, MailAddressFixture.RECIPIENT2)
             .attribute(new Attribute(name2, AttributeValue.of("otherFolder")))
             .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
index 897f329..747babd 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
@@ -123,6 +123,7 @@ public class LocalDeliveryTest {
 
     private Mail createMail() throws MessagingException, IOException {
         return FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                     .setSender("sender@any.com")
                     .setSubject("Subject")
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
index 953b95d..82275b7 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
@@ -73,6 +73,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .state("state")
@@ -94,6 +95,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .state("state")
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -113,6 +115,7 @@ public class MailDispatcherTest {
 
         String state = "state";
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
             .state(state)
@@ -139,6 +142,7 @@ public class MailDispatcherTest {
                     .data("toto"));
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .mimeMessage(mimeMessage)
             .recipients(MailAddressFixture.ANY_AT_JAMES)
@@ -166,6 +170,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -190,6 +195,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -212,6 +218,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -234,6 +241,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -258,6 +266,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -283,6 +292,7 @@ public class MailDispatcherTest {
             .build();
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageUtil.defaultMimeMessage())
@@ -306,6 +316,7 @@ public class MailDispatcherTest {
 
         String headerValue = "arbitraryValue";
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(MailAddressFixture.OTHER_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index bfee91b..9c5ea36 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -278,6 +278,7 @@ public class SieveIntegrationTest {
         prepareTestUsingScript("org/apache/james/transport/mailets/delivery/headerEncodedFolded.script");
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(MimeMessageUtil.mimeMessageFromStream(
                 ClassLoader.getSystemResourceAsStream("eml/gmail.eml")))
             .state(Mail.DEFAULT)
@@ -960,6 +961,7 @@ public class SieveIntegrationTest {
 
     private FakeMail createMailWithSubjectAndHeaders(String subject, MimeMessageBuilder.Header... headers) throws MessagingException, IOException {
         return FakeMail.builder()
+            .name("name")
             .mimeMessage(
                 MimeMessageBuilder.mimeMessageBuilder()
                     .setSubject(subject)
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
index 7a5b95e..c43d966 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
@@ -68,6 +68,7 @@ public class SimpleMailStoreTest {
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         when(usersRepository.getUser(recipient)).thenReturn(recipient.asString());
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(mimeMessage)
             .build();
         testee.storeMail(recipient, mail);
@@ -80,6 +81,7 @@ public class SimpleMailStoreTest {
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         when(usersRepository.getUser(recipient)).thenReturn(recipient.getLocalPart());
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(mimeMessage)
             .build();
         testee.storeMail(recipient, mail);
@@ -92,6 +94,7 @@ public class SimpleMailStoreTest {
         MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
         when(usersRepository.getUser(recipient)).thenThrow(new UsersRepositoryException("Any message"));
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(mimeMessage)
             .build();
         testee.storeMail(recipient, mail);
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
index bbb6cde..377fd9b 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
@@ -181,6 +181,7 @@ public class ToRecipientFolderTest {
 
     private Mail createMail() throws MessagingException, IOException {
         return FakeMail.builder()
+            .name("name")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setSender("sender@any.com")
                 .setSubject("Subject")
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/DiscardActionTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/DiscardActionTest.java
index 1d83233..e09c118 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/DiscardActionTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/jsieve/DiscardActionTest.java
@@ -33,6 +33,7 @@ public class DiscardActionTest {
     @Test
     public void removeRecipientShouldWorkWhenOnlyOneRecipient() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .build();
         ActionContext actionContext = mock(ActionContext.class);
@@ -46,6 +47,7 @@ public class DiscardActionTest {
     @Test
     public void removeRecipientShouldNotThrowWhenRecipientIsAbsent() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .build();
         ActionContext actionContext = mock(ActionContext.class);
@@ -59,6 +61,7 @@ public class DiscardActionTest {
     @Test
     public void removeRecipientShouldNotThrowWhenRecipientIsNull() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .build();
         ActionContext actionContext = mock(ActionContext.class);
@@ -72,6 +75,7 @@ public class DiscardActionTest {
     @Test
     public void removeRecipientShouldRemoveOnlyTheConcernedRecipient() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES)
             .build();
         ActionContext actionContext = mock(ActionContext.class);
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
index 7ee74ac..aaf5c90 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
@@ -469,6 +469,7 @@ public class ManageSieveMailetTestCase {
     public final void manageSieveMailetShouldIgnoreNullSender() throws Exception {
         MimeMessage message = prepareMimeMessage("SETACTIVE");
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .sender(MailAddress.nullSender())
             .recipient(SIEVE_LOCALHOST)
@@ -483,6 +484,7 @@ public class ManageSieveMailetTestCase {
     public final void manageSieveMailetShouldIgnoreMailWhenNoSender() throws Exception {
         MimeMessage message = prepareMimeMessage("SETACTIVE");
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .recipient(SIEVE_LOCALHOST)
             .build();
@@ -508,6 +510,7 @@ public class ManageSieveMailetTestCase {
 
     private Mail createUnauthenticatedMail(MimeMessage message) throws Exception {
         return FakeMail.builder()
+                .name("name")
                 .mimeMessage(message)
                 .sender(USER.asString())
                 .recipient(SIEVE_LOCALHOST)
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
index 235d65e..f8d99ac 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
@@ -58,6 +58,7 @@ public class NotifyMailetsMessageTest {
     @Test
     public void generateMessageShouldReturnTheMessageWhenSimpleMimeMessage() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .sender(new MailAddress("user", "james.org"))
                 .build();
@@ -106,6 +107,7 @@ public class NotifyMailetsMessageTest {
     @Test
     public void generateMessageShouldAddRecipientsWhenMimeMessageAsSome() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
             .recipients("user@james.org", "user2@james.org")
             .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/BouncerTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/BouncerTest.java
index 4bac706..9c1b289 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/BouncerTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/BouncerTest.java
@@ -63,7 +63,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         testee.bounce(mail, new Exception("Exception message"));
@@ -89,7 +89,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "Exception message";
@@ -118,7 +118,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "Error from remote server";
@@ -147,7 +147,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "I don't know him";
@@ -177,7 +177,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "Can not connect";
@@ -206,7 +206,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "Can not connect";
@@ -235,7 +235,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String exceptionMessage = "Can not connect";
@@ -264,7 +264,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .build();
         String exceptionMessage = "Can not connect";
         testee.bounce(mail, new MessagingException("Exception message", new ConnectException(exceptionMessage)));
@@ -283,7 +283,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         testee.bounce(mail, new Exception("Exception message"));
@@ -309,7 +309,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         testee.bounce(mail, new MessagingException());
@@ -336,7 +336,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         String errorMessage = "message";
@@ -363,7 +363,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .build();
         testee.bounce(mail, new MessagingException("message"));
 
@@ -381,7 +381,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .recipient(MailAddressFixture.ANY_AT_JAMES2)
             .build();
@@ -409,7 +409,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .recipients(MailAddressFixture.ANY_AT_JAMES2, MailAddressFixture.OTHER_AT_JAMES2)
             .build();
@@ -439,7 +439,7 @@ public class BouncerTest {
             mock(DomainList.class));
         Bouncer testee = new Bouncer(configuration, mailetContext);
 
-        Mail mail = FakeMail.builder().state(Mail.DEFAULT)
+        Mail mail = FakeMail.builder().name("name").state(Mail.DEFAULT)
             .sender(MailAddressFixture.ANY_AT_JAMES)
             .build();
         testee.bounce(mail, new MessagingException());
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRetryHelperTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRetryHelperTest.java
index 66f4917..545f77d 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRetryHelperTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRetryHelperTest.java
@@ -70,7 +70,7 @@ public class DeliveryRetryHelperTest {
 
     @Test
     public void retrieveRetriesShouldBeZeroOnInvalidValue() throws Exception {
-        FakeMail mail = FakeMail.builder().attribute(INVALID_ATTRIBUTE).build();
+        FakeMail mail = FakeMail.builder().name("name").attribute(INVALID_ATTRIBUTE).build();
 
         assertThat(DeliveryRetriesHelper.retrieveRetries(mail))
             .isEqualTo(0);
@@ -78,7 +78,7 @@ public class DeliveryRetryHelperTest {
 
     @Test
     public void incrementRetriesShouldWorkOnInvalidMails() throws Exception {
-        FakeMail mail = FakeMail.builder().attribute(INVALID_ATTRIBUTE).build();
+        FakeMail mail = FakeMail.builder().name("name").attribute(INVALID_ATTRIBUTE).build();
 
         DeliveryRetriesHelper.incrementRetries(mail);
 
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
index 622c929..00095e2 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
@@ -113,7 +113,7 @@ public class DeliveryRunnableTest {
 
     @Test
     public void deliveryTemporaryFailureShouldNotIncrementDeliveryMetric() throws Exception {
-        FakeMail fakeMail = FakeMail.builder().state(Mail.DEFAULT).build();
+        FakeMail fakeMail = FakeMail.builder().name("name").state(Mail.DEFAULT).build();
         Exception exception = new Exception();
         when(mailDelivrer.deliver(fakeMail)).thenReturn(ExecutionResult.temporaryFailure(exception));
 
@@ -135,13 +135,14 @@ public class DeliveryRunnableTest {
 
     @Test
     public void deliveryTemporaryFailureShouldRetryDelivery() throws Exception {
-        FakeMail fakeMail = FakeMail.builder().state(Mail.DEFAULT).build();
+        FakeMail fakeMail = FakeMail.builder().name("name").state(Mail.DEFAULT).build();
         Exception exception = new Exception();
         when(mailDelivrer.deliver(fakeMail)).thenReturn(ExecutionResult.temporaryFailure(exception));
 
         testee.attemptDelivery(fakeMail);
 
         verify(mailQueue).enQueue(FakeMail.builder()
+                .name("name")
                 .attribute(DeliveryRetriesHelper.makeAttribute(1))
                 .state(Mail.ERROR)
                 .lastUpdated(FIXED_DATE)
@@ -154,6 +155,7 @@ public class DeliveryRunnableTest {
     @Test
     public void deliveryTemporaryFailureShouldRetryDeliveryWithRightDelay() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .state(Mail.ERROR)
             .attribute(DeliveryRetriesHelper.makeAttribute(2))
             .build();
@@ -163,6 +165,7 @@ public class DeliveryRunnableTest {
         testee.attemptDelivery(fakeMail);
 
         verify(mailQueue).enQueue(FakeMail.builder()
+                .name("name")
                 .attribute(DeliveryRetriesHelper.makeAttribute(3))
                 .state(Mail.ERROR)
                 .lastUpdated(FIXED_DATE)
@@ -175,6 +178,7 @@ public class DeliveryRunnableTest {
     @Test
     public void deliveryTemporaryFailureShouldRetryDeliveryOnMaximumRetryNumber() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .state(Mail.ERROR)
             .attribute(DeliveryRetriesHelper.makeAttribute(4))
             .build();
@@ -184,6 +188,7 @@ public class DeliveryRunnableTest {
         testee.attemptDelivery(fakeMail);
 
         verify(mailQueue).enQueue(FakeMail.builder()
+                .name("name")
                 .attribute(DeliveryRetriesHelper.makeAttribute(5))
                 .state(Mail.ERROR)
                 .lastUpdated(FIXED_DATE)
@@ -196,6 +201,7 @@ public class DeliveryRunnableTest {
     @Test
     public void deliveryTemporaryFailureShouldNotRetryDeliveryOverMaximumRetryNumber() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .state(Mail.ERROR)
             .attribute(DeliveryRetriesHelper.makeAttribute(5))
             .build();
@@ -210,6 +216,7 @@ public class DeliveryRunnableTest {
     @Test
     public void deliveryTemporaryFailureShouldBounceWhenRetryExceeded() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .state(Mail.ERROR)
             .attribute(DeliveryRetriesHelper.makeAttribute(5))
             .build();
@@ -225,6 +232,7 @@ public class DeliveryRunnableTest {
     @Test
     public void deliveryTemporaryFailureShouldResetDeliveryCountOnNonErrorState() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .state(Mail.DEFAULT)
             .attribute(DeliveryRetriesHelper.makeAttribute(5))
             .build();
@@ -234,6 +242,7 @@ public class DeliveryRunnableTest {
         testee.attemptDelivery(fakeMail);
 
         verify(mailQueue).enQueue(FakeMail.builder()
+                .name("name")
                 .attribute(DeliveryRetriesHelper.makeAttribute(1))
                 .state(Mail.ERROR)
                 .lastUpdated(FIXED_DATE)
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/MailDelivrerTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/MailDelivrerTest.java
index 62375c5..1f48e2a 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/MailDelivrerTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/MailDelivrerTest.java
@@ -79,7 +79,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnTemporaryFailureByDefault() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         SendFailedException sfe = new SendFailedException();
         ExecutionResult executionResult = testee.handleSenderFailedException(mail, sfe);
@@ -89,7 +89,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnTemporaryFailureWhenNotServerException() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         SendFailedException sfe = new SMTPSenderFailedException(new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString()), "Comand", 400, "An temporary error");
         ExecutionResult executionResult = testee.handleSenderFailedException(mail, sfe);
@@ -99,7 +99,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnPermanentFailureWhenServerException() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         SendFailedException sfe = new SMTPSenderFailedException(new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString()), "Comand", 505, "An temporary error");
         ExecutionResult executionResult = testee.handleSenderFailedException(mail, sfe);
@@ -109,7 +109,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnPermanentFailureWhenInvalidAndNotValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {};
@@ -126,7 +126,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnTemporaryFailureWhenValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
@@ -143,7 +143,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldReturnTemporaryFailureWhenInvalidAndValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
@@ -160,7 +160,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldSetRecipientToInvalidWhenOnlyInvalid() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {};
@@ -177,7 +177,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldSetRecipientToValidUnsentWhenOnlyValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
@@ -194,7 +194,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldSetRecipientToValidUnsentWhenValidUnsentAndInvalid() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
@@ -211,7 +211,7 @@ public class MailDelivrerTest {
 
     @Test
     public void handleSenderFailedExceptionShouldBounceInvalidAddressesOnBothInvalidAndValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
@@ -229,7 +229,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldReturnTemporaryFailureOnTemporaryResolutionException() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         when(dnsHelper.retrieveHostAddressIterator(MailAddressFixture.JAMES_APACHE_ORG)).thenThrow(new TemporaryResolutionException());
 
@@ -240,7 +240,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldReturnTemporaryErrorWhenFirstDNSProblem() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> empty = ImmutableList.<HostAddress>of().iterator();
         when(dnsHelper.retrieveHostAddressIterator(MailAddressFixture.JAMES_APACHE_ORG)).thenReturn(empty);
@@ -252,7 +252,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldReturnTemporaryErrorWhenToleratedDNSProblem() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
         DeliveryRetriesHelper.incrementRetries(mail);
 
         UnmodifiableIterator<HostAddress> empty = ImmutableList.<HostAddress>of().iterator();
@@ -265,7 +265,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldReturnPermanentErrorWhenLimitDNSProblemReached() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
         DeliveryRetriesHelper.incrementRetries(mail);
         DeliveryRetriesHelper.incrementRetries(mail);
         DeliveryRetriesHelper.incrementRetries(mail);
@@ -280,7 +280,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldReturnPermanentErrorWhenLimitDNSProblemExceeded() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         DeliveryRetriesHelper.incrementRetries(mail);
         DeliveryRetriesHelper.incrementRetries(mail);
@@ -297,7 +297,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldWork() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -313,7 +313,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldAbortWhenServerError() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -329,7 +329,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldAbortWithTemporaryWhenMessagingExceptionCauseUnknown() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -345,7 +345,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldTryTwiceOnIOException() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -363,7 +363,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldAbortWhenServerErrorSFE() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -379,7 +379,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldAttemptDeliveryOnlyOnceIfNoMoreValidUnsent() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
 
         UnmodifiableIterator<HostAddress> dnsEntries = ImmutableList.of(
             HOST_ADDRESS_1,
@@ -395,7 +395,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldAttemptDeliveryOnBothMXIfStillRecipients() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
         Address[] invalid = {};
@@ -419,7 +419,7 @@ public class MailDelivrerTest {
 
     @Test
     public void deliverShouldWorkIfOnlyMX2Valid() throws Exception {
-        Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
+        Mail mail = FakeMail.builder().name("name").recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
         Address[] validSent = {};
         Address[] validUnsent = {new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.asString())};
         Address[] invalid = {};
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/InSpammerBlacklistTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/InSpammerBlacklistTest.java
index 6869787..1382669 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/InSpammerBlacklistTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/InSpammerBlacklistTest.java
@@ -56,6 +56,7 @@ public class InSpammerBlacklistTest {
 
     private Mail createMail(String remoteAddr) throws MessagingException {
         return FakeMail.builder()
+                .name("name")
                 .remoteAddr(remoteAddr)
                 .recipient("test@email")
                 .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
index 825384a..115747c 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsMarkedAsSpamTest.java
@@ -40,6 +40,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldNotMatchWhenNoHeader() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .build();
@@ -51,6 +52,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldNotMatchWhenHeaderButEmptyValue() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
@@ -67,6 +69,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldNotMatchWhenHeaderButOtherValue() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
@@ -83,6 +86,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldNotMatchWhenHeaderButNoValue() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
@@ -99,6 +103,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldMatchWhenHeaderAndYesValue() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
@@ -116,6 +121,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldMatchOnlyRecipientsWithHeaderAndYesValue() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipients("to1@james.org", "to2@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
@@ -132,6 +138,7 @@ public class IsMarkedAsSpamTest {
     @Test
     public void isMarkedAsSpamShouldMatchWhenHeaderAndYesValueInOtherCase() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender("sender@james.org")
             .recipient("to@james.org")
             .addHeaderForRecipient(PerRecipientHeaders.Header.builder()
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
index 1c65ad1..5a043fa 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
@@ -69,6 +69,7 @@ public class IsOverQuotaTest {
     @Test
     public void matchShouldAcceptMailWhenNoQuota() throws Exception {
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .size(1000)
             .build();
@@ -82,6 +83,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(100));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .size(1000)
             .build();
@@ -95,6 +97,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(1000));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .size(1000)
             .build();
@@ -108,6 +111,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(0));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .build();
         Collection<MailAddress> result = testee.match(fakeMail);
@@ -120,6 +124,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(1));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .build();
         Collection<MailAddress> result = testee.match(fakeMail);
@@ -134,6 +139,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setMaxStorage(quotaRoot, QuotaSize.size(100));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .size(150)
@@ -152,6 +158,7 @@ public class IsOverQuotaTest {
         maxQuotaManager.setMaxStorage(quotaRoot, QuotaSize.size(100));
 
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(MailAddressFixture.ANY_AT_JAMES)
             .recipient(MailAddressFixture.OTHER_AT_JAMES)
             .size(150)
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsSenderInRRTLoopTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsSenderInRRTLoopTest.java
index 95d3524..74f454f 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsSenderInRRTLoopTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsSenderInRRTLoopTest.java
@@ -48,6 +48,7 @@ public class IsSenderInRRTLoopTest {
     @Test
     public void matchShouldReturnEmptyWhenSenderHasNoRRT() throws Exception {
         Collection<MailAddress> result = testee.match(FakeMail.builder()
+            .name("name")
             .sender(SENDER)
             .recipient(RECIPIENT1)
             .build());
@@ -58,6 +59,7 @@ public class IsSenderInRRTLoopTest {
     @Test
     public void matchShouldNotFailWhenNoSender() throws Exception {
         Collection<MailAddress> result = testee.match(FakeMail.builder()
+            .name("name")
             .recipient(RECIPIENT1)
             .build());
 
@@ -69,6 +71,7 @@ public class IsSenderInRRTLoopTest {
         recipientRewriteTable.addAddressMapping(MappingSource.fromUser(SENDER.getLocalPart(), SENDER.getDomain()), RECIPIENT1.asString());
 
         Collection<MailAddress> result = testee.match(FakeMail.builder()
+            .name("name")
             .sender(SENDER)
             .recipient(RECIPIENT1)
             .build());
@@ -82,6 +85,7 @@ public class IsSenderInRRTLoopTest {
         recipientRewriteTable.addAddressMapping(MappingSource.fromUser(RECIPIENT1.getLocalPart(), RECIPIENT1.getDomain()), SENDER.asString());
 
         Collection<MailAddress> result = testee.match(FakeMail.builder()
+            .name("name")
             .sender(SENDER)
             .recipient(RECIPIENT2)
             .build());
@@ -95,6 +99,7 @@ public class IsSenderInRRTLoopTest {
         recipientRewriteTable.addAddressMapping(MappingSource.fromUser(RECIPIENT1.getLocalPart(), RECIPIENT1.getDomain()), SENDER.asString());
 
         Collection<MailAddress> result = testee.match(FakeMail.builder()
+            .name("name")
             .sender(SENDER)
             .build());
 
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrInNetworkTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrInNetworkTest.java
index ad00285..68007e9 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrInNetworkTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrInNetworkTest.java
@@ -58,6 +58,7 @@ public class RemoteAddrInNetworkTest {
     @Test
     public void shouldMatchWhenOnSameNetwork() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("192.168.200.1")
                 .build();
@@ -70,6 +71,7 @@ public class RemoteAddrInNetworkTest {
     @Test
     public void shouldNotMatchWhenOnDifferentNetwork() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("192.168.1.1")
                 .build();
@@ -89,6 +91,7 @@ public class RemoteAddrInNetworkTest {
         testee.init(matcherConfig);
 
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .build();
 
@@ -100,6 +103,7 @@ public class RemoteAddrInNetworkTest {
     @Test
     public void shouldNotMatchWhenInvalidAddress() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("invalid")
                 .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrNotInNetworkTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrNotInNetworkTest.java
index 3f60b53..26db723 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrNotInNetworkTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteAddrNotInNetworkTest.java
@@ -59,6 +59,7 @@ public class RemoteAddrNotInNetworkTest {
     @Test
     public void shouldMatchWhenOnDifferentNetwork() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("192.168.0.1")
                 .build();
@@ -71,6 +72,7 @@ public class RemoteAddrNotInNetworkTest {
     @Test
     public void shouldNotMatchWhenOnSameNetwork() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("192.168.200.1")
                 .build();
@@ -90,6 +92,7 @@ public class RemoteAddrNotInNetworkTest {
         matcher.init(matcherConfig);
 
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .build();
 
@@ -101,6 +104,7 @@ public class RemoteAddrNotInNetworkTest {
     @Test
     public void shouldMatchWhenInvalidAddress() throws MessagingException {
         fakeMail = FakeMail.builder()
+                .name("name")
                 .recipient(testRecipient)
                 .remoteAddr("invalid")
                 .build();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java
index 0070178..79d1668 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java
@@ -60,7 +60,7 @@ class DlpTest {
     void matchShouldReturnEmptyWhenNoRecipient() throws Exception {
         Dlp dlp = new Dlp(MATCH_ALL_FOR_ALL_DOMAINS);
 
-        FakeMail mail = FakeMail.builder().sender(RECIPIENT1).build();
+        FakeMail mail = FakeMail.builder().name("name").sender(RECIPIENT1).build();
 
         assertThat(dlp.match(mail)).isEmpty();
     }
@@ -69,7 +69,7 @@ class DlpTest {
     void matchShouldReturnEmptyWhenNoSender() throws Exception {
         Dlp dlp = new Dlp(MATCH_ALL_FOR_ALL_DOMAINS);
 
-        FakeMail mail = FakeMail.builder().recipient(RECIPIENT1).build();
+        FakeMail mail = FakeMail.builder().name("name").recipient(RECIPIENT1).build();
 
         assertThat(dlp.match(mail)).isEmpty();
     }
@@ -86,6 +86,7 @@ class DlpTest {
         Dlp dlp = new Dlp(MATCH_NOTHING_FOR_ALL_DOMAINS);
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(ANY_AT_JAMES)
             .recipient(RECIPIENT1)
             .recipient(RECIPIENT2)
@@ -101,7 +102,7 @@ class DlpTest {
                 JAMES_APACHE_ORG_DOMAIN,
                 DlpDomainRules.builder().senderRule(Id.of("match sender"), Pattern.compile(ANY_AT_JAMES.asString())).build()));
 
-        FakeMail mail = FakeMail.builder().sender(ANY_AT_JAMES).recipient(RECIPIENT1).build();
+        FakeMail mail = FakeMail.builder().name("name").sender(ANY_AT_JAMES).recipient(RECIPIENT1).build();
 
         assertThat(dlp.match(mail)).contains(RECIPIENT1);
     }
@@ -113,7 +114,7 @@ class DlpTest {
                 JAMES_APACHE_ORG_DOMAIN,
                 DlpDomainRules.builder().recipientRule(Id.of("match all recipient"), Pattern.compile(".*")).build()));
 
-        FakeMail mail = FakeMail.builder().sender(MailAddress.nullSender()).recipient(RECIPIENT1).build();
+        FakeMail mail = FakeMail.builder().name("name").sender(MailAddress.nullSender()).recipient(RECIPIENT1).build();
 
         assertThat(dlp.match(mail)).isEmpty();
     }
@@ -127,6 +128,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -145,6 +147,7 @@ class DlpTest {
                 DlpDomainRules.builder().recipientRule(Id.of("match recipient"), Pattern.compile(RECIPIENT1.asString())).build()));
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(ANY_AT_JAMES)
             .recipient(RECIPIENT1)
             .recipient(RECIPIENT2)
@@ -162,6 +165,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -181,6 +185,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -200,6 +205,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -219,6 +225,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -238,6 +245,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -258,6 +266,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -277,6 +286,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -301,6 +311,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -332,6 +343,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -364,6 +376,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -396,6 +409,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -419,6 +433,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT1)
             .mimeMessage(MimeMessageBuilder
@@ -448,6 +463,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT2)
             .mimeMessage(meaninglessText)
@@ -473,6 +489,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT2)
             .mimeMessage(meaninglessText)
@@ -498,6 +515,7 @@ class DlpTest {
 
         FakeMail mail = FakeMail
             .builder()
+            .name("name")
             .sender(OTHER_AT_JAMES)
             .recipient(RECIPIENT2)
             .mimeMessage(meaninglessText)
@@ -518,6 +536,7 @@ class DlpTest {
                     .build()));
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .sender(ANY_AT_JAMES)
             .recipient(RECIPIENT1)
             .recipient(RECIPIENT2)
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/RecipientsUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/RecipientsUtilsTest.java
index 04224d1..82a5e5c 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/RecipientsUtilsTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/RecipientsUtilsTest.java
@@ -103,6 +103,7 @@ public class RecipientsUtilsTest {
         MailAddress to = new MailAddress("to", "james.org");
         MailAddress to2 = new MailAddress("to2", "james.org");
         FakeMail fakeMail = FakeMail.builder()
+                .name("name")
                 .sender(from)
                 .recipients(to, to2)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/ReplyToUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/ReplyToUtilsTest.java
index dcf4833..7527521 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/ReplyToUtilsTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/ReplyToUtilsTest.java
@@ -58,6 +58,7 @@ public class ReplyToUtilsTest {
 
         MailAddress expectedMailAddress = new MailAddress("sender", "james.org");
         FakeMail fakeMail = FakeMail.builder()
+                .name("name")
                 .sender(expectedMailAddress)
                 .build();
 
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java
index 014f446..55b288d 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java
@@ -68,6 +68,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnEmptyWhenEmptyList() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.<MailAddress>of());
@@ -78,6 +79,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnSameContentWhenAddressesDoesntMatchAddressMarkerDomain() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         MailAddress mailAddress = new MailAddress("user", "addres.marker");
@@ -93,6 +95,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceMailAddressesShouldReturnSenderWhenAddressesMatchSender() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .build();
 
@@ -105,6 +108,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceMailAddressesShouldReturnSenderWhenAddressesMatchFrom() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .build();
 
@@ -116,6 +120,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnEmptyWhenAddressesMatchSenderAndSenderIsNull() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.of(SpecialAddress.SENDER));
@@ -150,6 +155,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceMailAddressesShouldReturnSenderWhenAddressesMatchReplyToAndNoReplyTo() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .build();
@@ -163,6 +169,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceMailAddressesShouldReturnSenderWhenAddressesMatchReversePath() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .build();
 
@@ -174,6 +181,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnEmptyWhenAddressesMatchReversePathAndNoSender() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH));
@@ -186,6 +194,7 @@ public class SpecialAddressesUtilsTest {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES;
         MailAddress recipient2 = MailAddressFixture.OTHER_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .recipients(recipient, recipient2)
                 .build();
 
@@ -199,6 +208,7 @@ public class SpecialAddressesUtilsTest {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES;
         MailAddress recipient2 = MailAddressFixture.OTHER_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .recipients(recipient, recipient2)
                 .build();
 
@@ -210,6 +220,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnEmptyWhenAddressesMatchUnaltered() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.of(SpecialAddress.UNALTERED));
@@ -220,6 +231,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnEmptyWhenAddressesMatchNull() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.of(SpecialAddress.NULL));
@@ -230,6 +242,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnSameAddressWhenAddressesDoesntMatch() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         MailAddress address = new MailAddress("user", "address.marker");
@@ -242,6 +255,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceMailAddressesShouldReturnSameListWhenAddressesMatchDelete() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         Collection<MailAddress> addresses = testee.replaceSpecialAddresses(mail, ImmutableList.of(SpecialAddress.DELETE));
@@ -253,6 +267,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnEmptyWhenEmptyList() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.<InternetAddress>of());
@@ -263,6 +278,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnSameContentWhenAddressesDoesntMatchAddressMarkerDomain() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         InternetAddress internetAddress = new InternetAddress("user@addres.marker");
@@ -278,6 +294,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceInternetAddressesShouldReturnSenderWhenAddressesMatchSender() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .build();
 
@@ -302,6 +319,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceInternetAddressesShouldReturnSenderWhenAddressesMatchFromAndNoFrom() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .sender(sender)
                 .build();
@@ -314,6 +332,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnEmptyWhenAddressesMatchSenderAndSenderIsNull() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.SENDER.toInternetAddress()));
@@ -348,6 +367,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceInternetAddressesShouldReturnSenderWhenAddressesMatchReplyToAndNoReplyTo() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder())
                 .build();
@@ -361,6 +381,7 @@ public class SpecialAddressesUtilsTest {
     public void replaceInternetAddressesShouldReturnSenderWhenAddressesMatchReversePath() throws Exception {
         MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .sender(sender)
                 .build();
 
@@ -372,6 +393,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnEmptyWhenAddressesMatchReversePathAndNoSender() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress()));
@@ -406,6 +428,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnEmptyWhenAddressesMatchUnaltered() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.UNALTERED.toInternetAddress()));
@@ -416,6 +439,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnEmptyWhenAddressesMatchNull() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.NULL.toInternetAddress()));
@@ -426,6 +450,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnSameAddressWhenAddressesDoesntMatch() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         MailAddress address = new MailAddress("user", "address.marker");
@@ -438,6 +463,7 @@ public class SpecialAddressesUtilsTest {
     @Test
     public void replaceInternetAddressesShouldReturnSameListWhenAddressesMatchDelete() throws Exception {
         FakeMail mail = FakeMail.builder()
+                .name("name")
                 .build();
 
         List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.DELETE.toInternetAddress()));
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java
index f7b276a..66039c4 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java
@@ -107,6 +107,7 @@ public class TosUtilsTest {
         MailAddress toMailAddress = new MailAddress("to", "james.org");
         MailAddress toMailAddress2 = new MailAddress("to2", "james.org");
         FakeMail fakeMail = FakeMail.builder()
+                .name("name")
                 .sender(from)
                 .recipients(toMailAddress, toMailAddress2)
                 .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
diff --git a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
index 16b835a..7dab1fa 100644
--- a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
+++ b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
@@ -141,9 +141,9 @@ public interface MailRepositoryContract {
     default void storeRegularMailShouldNotFailWhenNullSender() throws Exception {
         MailRepository testee = retrieveRepository();
         Mail mail = FakeMail.builder()
+            .name(MAIL_1.asString())
             .sender(MailAddress.nullSender())
             .recipient(MailAddressFixture.RECIPIENT1)
-            .name(MAIL_1.asString())
             .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
                 .setSubject("test")
                 .setText("String body")
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
index be6d055..ed63030 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
@@ -5406,6 +5406,7 @@ public abstract class SetMessagesMethodTest {
         String fromAddress = USERNAME;
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(calendarMessage)
             .sender(fromAddress)
             .recipient(fromAddress)
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/SentByJmapTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/SentByJmapTest.java
index 11ba63d..20e570c 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/SentByJmapTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/SentByJmapTest.java
@@ -50,6 +50,7 @@ public class SentByJmapTest {
     public void matchShouldReturnRecipientsWhenUserAttributeIsPresent() throws Exception {
         MailAddress recipient = MailAddressFixture.ANY_AT_JAMES;
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipient(recipient)
             .attribute(new Attribute(MailMetadata.MAIL_METADATA_USERNAME_ATTRIBUTE, AttributeValue.of("true")))
             .build();
@@ -62,6 +63,7 @@ public class SentByJmapTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenUserAttributeIsAbsent() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipients(MailAddressFixture.ANY_AT_JAMES)
             .build();
 
@@ -73,6 +75,7 @@ public class SentByJmapTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenUserAttributeIsAbsentAndThereIsNoRecipient() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipients()
             .build();
 
@@ -84,6 +87,7 @@ public class SentByJmapTest {
     @Test
     public void matchShouldReturnEmptyCollectionWhenUserAttributeIsPresentAndThereIsNoRecipient() throws Exception {
         FakeMail fakeMail = FakeMail.builder()
+            .name("name")
             .recipients()
             .attribute(new Attribute(MailMetadata.MAIL_METADATA_USERNAME_ATTRIBUTE, AttributeValue.of("true")))
             .build();
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/TextCalendarBodyToAttachmentTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/TextCalendarBodyToAttachmentTest.java
index e10e953..2d372cc 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/TextCalendarBodyToAttachmentTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/TextCalendarBodyToAttachmentTest.java
@@ -91,6 +91,7 @@ public class TextCalendarBodyToAttachmentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageContent);
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
 
@@ -109,6 +110,7 @@ public class TextCalendarBodyToAttachmentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageContent);
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
 
@@ -128,6 +130,7 @@ public class TextCalendarBodyToAttachmentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageContent);
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
 
@@ -143,6 +146,7 @@ public class TextCalendarBodyToAttachmentTest {
     @Test
     public void contentTypeOfAttachmentShouldBeTakenFromOriginalMessage() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(calendarMessage)
             .build();
 
@@ -158,6 +162,7 @@ public class TextCalendarBodyToAttachmentTest {
     @Test
     public void contentTransferEncodingOfAttachmentShouldBeTakenFromOriginalMessage() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(calendarMessage)
             .build();
 
@@ -173,6 +178,7 @@ public class TextCalendarBodyToAttachmentTest {
     @Test
     public void contentClassOfAttachmentShouldBeTakenFromOriginalMessage() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(calendarMessage)
             .build();
 
@@ -188,6 +194,7 @@ public class TextCalendarBodyToAttachmentTest {
     @Test
     public void contentClassHeaderShouldBeRemoveFromOriginalMessage() throws Exception {
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(calendarMessage)
             .build();
 
@@ -207,6 +214,7 @@ public class TextCalendarBodyToAttachmentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageContent);
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
 
@@ -226,6 +234,7 @@ public class TextCalendarBodyToAttachmentTest {
         MimeMessage message = MimeMessageUtil.mimeMessageFromString(messageContent);
 
         Mail mail = FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
 
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
index fed071e..1de1c9a 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
@@ -82,6 +82,7 @@ public class VacationMailetTest {
         originalRecipient = new MailAddress(USERNAME);
         recipientId = RecipientId.fromMailAddress(originalSender);
         mail = FakeMail.builder()
+            .name("name")
             .fileName("spamMail.eml")
             .recipient(originalRecipient)
             .sender(originalSender)
@@ -189,6 +190,7 @@ public class VacationMailetTest {
         AccountId secondAccountId = AccountId.fromString(secondUserName);
 
         FakeMail mail = FakeMail.builder()
+            .name("name")
             .fileName("spamMail.eml")
             .recipients(originalRecipient, secondRecipient)
             .sender(originalSender)
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationReplyTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationReplyTest.java
index e6f9e69..c4fd826 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationReplyTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationReplyTest.java
@@ -59,6 +59,7 @@ public class VacationReplyTest {
         originalRecipient = new MailAddress("benwa@apache.org");
 
         mail = FakeMail.builder()
+                .name("name")
                 .mimeMessage(
                     MimeMessageUtil.mimeMessageFromStream(ClassLoader.getSystemResourceAsStream("spamMail.eml")))
                 .sender(originalSender)
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
index 11bff54..1103a08 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
@@ -118,6 +118,7 @@ public class JMAPFilteringExtension implements BeforeEachCallback, ParameterReso
 
         public FakeMail asMail(MimeMessageBuilder mimeMessageBuilder) throws MessagingException {
             return FakeMail.builder()
+                .name("name")
                 .sender(USER_1_ADDRESS)
                 .recipients(RECIPIENT_1)
                 .mimeMessage(mimeMessageBuilder)
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
index a257884..b7cbf2d 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
@@ -110,6 +110,7 @@ public class SpamAssassinHandlerTest {
 
     private Mail setupMockedMail(MimeMessage message) throws MessagingException {
         return FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
     }
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
index 0a632e8..b8890aa 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
@@ -109,6 +109,7 @@ public class URIRBLHandlerTest {
 
     private Mail setupMockedMail(MimeMessage message) throws MessagingException {
        return FakeMail.builder()
+            .name("name")
             .mimeMessage(message)
             .build();
     }
diff --git a/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/dto/MailQueueItemDTOTest.java b/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/dto/MailQueueItemDTOTest.java
index 2a7dffd..18b14d2 100644
--- a/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/dto/MailQueueItemDTOTest.java
+++ b/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/dto/MailQueueItemDTOTest.java
@@ -52,7 +52,7 @@ public class MailQueueItemDTOTest {
 
     @Test
     public void fromShouldCreateTheRightObject() throws Exception {
-        FakeMail mail = Mails.defaultMail().build();
+        FakeMail mail = Mails.defaultMail().name("name").build();
         ZonedDateTime date = ZonedDateTime.parse("2018-01-02T11:22:02Z");
         MailQueueItemView mailQueueItemView = new MailQueueItemView(mail, date);
         MailQueueItemDTO mailQueueItemDTO = MailQueueItemDTO.from(mailQueueItemView);
diff --git a/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/routes/MailQueueRoutesTest.java b/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/routes/MailQueueRoutesTest.java
index 6e8e801..8986bff 100644
--- a/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/routes/MailQueueRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailqueue/src/test/java/org/apache/james/webadmin/routes/MailQueueRoutesTest.java
@@ -234,8 +234,8 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnMailsWhenSome() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                queue.enQueue(Mails.defaultMail().build());
-                queue.enQueue(Mails.defaultMail().build());
+                queue.enQueue(Mails.defaultMail().name("name").build());
+                queue.enQueue(Mails.defaultMail().name("name").build());
 
                 when()
                     .get(FIRST_QUEUE + "/mails")
@@ -248,7 +248,7 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnMailDetailsWhenSome() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail);
 
                 String firstMail = "[0]";
@@ -270,7 +270,7 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnEmptyWhenNoDelayedMailsAndAskFor() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail);
 
                 given()
@@ -286,7 +286,7 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnCurrentMailsWhenMailsAndAskForNotDelayed() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail);
 
                 given()
@@ -302,7 +302,7 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnDelayedMailsWhenAskFor() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail, 10, TimeUnit.MINUTES);
 
                 given()
@@ -318,7 +318,7 @@ public class MailQueueRoutesTest {
             @Test
             public void listMailsShouldReturnOneMailWhenMailsAndAskForALimitOfOne() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail);
                 queue.enQueue(mail);
                 queue.enQueue(mail);
@@ -341,7 +341,7 @@ public class MailQueueRoutesTest {
         @Test
         public void getMailQueueShouldReturnTheMailQueueDataWhenMailQueueExists() throws Exception {
             MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-            queue.enQueue(Mails.defaultMail().build());
+            queue.enQueue(Mails.defaultMail().name("name").build());
 
             when()
                 .get(FIRST_QUEUE)
@@ -514,7 +514,7 @@ public class MailQueueRoutesTest {
             @Test
             public void forcingDelayedMailsDeliveryShouldActuallyChangePropertyOnMails() throws Exception {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
-                FakeMail mail = Mails.defaultMail().build();
+                FakeMail mail = Mails.defaultMail().name("name").build();
                 queue.enQueue(mail, 10L, TimeUnit.MINUTES);
                 queue.enQueue(mail, 10L, TimeUnit.MINUTES);
                 queue.enQueue(mail);
@@ -883,10 +883,11 @@ public class MailQueueRoutesTest {
                 MemoryMailQueue queue = mailQueueFactory.createQueue(FIRST_QUEUE);
                 String recipient = "recipient@james.org";
                 queue.enQueue(Mails.defaultMail()
+                        .name("name")
                         .recipient(recipient)
                         .build());
-                queue.enQueue(Mails.defaultMail().build());
-                queue.enQueue(Mails.defaultMail().build());
+                queue.enQueue(Mails.defaultMail().name("name").build());
+                queue.enQueue(Mails.defaultMail().name("name").build());
 
                 String taskId = with()
                     .param("recipient", recipient)
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
index 6e48232..1765ca7 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
@@ -43,6 +43,7 @@ public interface DelayedMailQueueContract {
     @Test
     default void enqueueShouldDelayMailsWhenSpecified(ExecutorService executorService) throws Exception {
         getMailQueue().enQueue(defaultMail()
+            .name("name")
             .build(),
             2L,
             TimeUnit.SECONDS);
@@ -55,6 +56,7 @@ public interface DelayedMailQueueContract {
     @Test
     default void enqueueWithNegativeDelayShouldNotDelayDelivery(ExecutorService executorService) throws Exception {
         getMailQueue().enQueue(defaultMail()
+            .name("name")
             .build(),
             -30L,
             TimeUnit.SECONDS);
@@ -66,6 +68,7 @@ public interface DelayedMailQueueContract {
     @Test
     default void enqueueWithReasonablyLongDelayShouldDelayMail(ExecutorService executorService) throws Exception {
         getMailQueue().enQueue(defaultMail()
+            .name("name")
             .build(),
             365 * 10,
             TimeUnit.DAYS);
@@ -78,6 +81,7 @@ public interface DelayedMailQueueContract {
     @Test
     default void enqueueWithVeryLongDelayShouldDelayMail(ExecutorService executorService) throws Exception {
         getMailQueue().enQueue(defaultMail()
+            .name("name")
             .build(),
             Long.MAX_VALUE,
             TimeUnit.DAYS);
@@ -106,6 +110,7 @@ public interface DelayedMailQueueContract {
         Stopwatch started = Stopwatch.createStarted();
 
         getMailQueue().enQueue(defaultMail()
+            .name("name")
             .build(),
             delay,
             unit);
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
index 6491502..36ba41a 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
@@ -85,6 +85,7 @@ public interface MailQueueContract {
     @Test
     default void queueShouldPreserveMailRecipients() throws Exception {
         enQueue(defaultMail()
+            .name("mail")
             .recipients(RECIPIENT1, RECIPIENT2)
             .build());
 
@@ -125,6 +126,7 @@ public interface MailQueueContract {
     @Test
     default void queueShouldPreserveMailSender() throws Exception {
         enQueue(defaultMail()
+            .name("mail")
             .sender(SENDER)
             .build());
 
@@ -137,6 +139,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveMimeMessage() throws Exception {
         MimeMessage originalMimeMessage = createMimeMessage();
         enQueue(defaultMail()
+            .name("mail")
             .mimeMessage(originalMimeMessage)
             .build());
 
@@ -149,6 +152,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveMailAttribute() throws Exception {
         Attribute attribute = Attribute.convertToAttribute("any", "value");
         enQueue(defaultMail()
+            .name("mail")
             .attribute(attribute)
             .build());
 
@@ -161,6 +165,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveErrorMessage() throws Exception {
         String errorMessage = "ErrorMessage";
         enQueue(defaultMail()
+            .name("mail")
             .errorMessage(errorMessage)
             .build());
 
@@ -173,6 +178,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveState() throws Exception {
         String state = "state";
         enQueue(defaultMail()
+            .name("mail")
             .state(state)
             .build());
 
@@ -185,6 +191,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveRemoteAddress() throws Exception {
         String remoteAddress = "remote";
         enQueue(defaultMail()
+            .name("mail")
             .remoteAddr(remoteAddress)
             .build());
 
@@ -197,6 +204,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveRemoteHost() throws Exception {
         String remoteHost = "remote";
         enQueue(defaultMail()
+            .name("mail")
             .remoteHost(remoteHost)
             .build());
 
@@ -209,6 +217,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveLastUpdated() throws Exception {
         Date lastUpdated = new Date();
         enQueue(defaultMail()
+            .name("mail")
             .lastUpdated(lastUpdated)
             .build());
 
@@ -236,6 +245,7 @@ public interface MailQueueContract {
             .value("any")
             .build();
         enQueue(defaultMail()
+            .name("mail")
             .addHeaderForRecipient(header, RECIPIENT1)
             .build());
 
@@ -249,6 +259,7 @@ public interface MailQueueContract {
     default void queueShouldPreserveNonStringMailAttribute() throws Exception {
         Attribute attribute = Attribute.convertToAttribute("any", new SerializableAttribute("value"));
         enQueue(defaultMail()
+                .name("mail")
                 .attribute(attribute)
                 .build());
 
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/Mails.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/Mails.java
index 1c3e56e..198f911 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/Mails.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/Mails.java
@@ -33,23 +33,28 @@ import org.apache.mailet.base.test.FakeMail;
 
 public interface Mails {
 
-    static FakeMail.Builder defaultMail() throws MessagingException {
-        return defaultMailNoRecipient()
+    static FakeMail.RequireName defaultMail() {
+        return name -> defaultMailNoRecipient()
+            .name(name)
             .recipients(RECIPIENT1, RECIPIENT2);
     }
 
-    static FakeMail.Builder defaultMailNoRecipient() throws MessagingException {
-        return FakeMail.builder()
-            .name("name")
-            .mimeMessage(createMimeMessage())
-            .sender(SENDER)
-            .lastUpdated(new Date());
+    static FakeMail.RequireName defaultMailNoRecipient() {
+        return name -> FakeMail.builder()
+                .name(name)
+                .mimeMessage(createMimeMessage())
+                .sender(SENDER)
+                .lastUpdated(new Date());
     }
 
-    static MimeMessage createMimeMessage() throws MessagingException {
-        return MimeMessageBuilder.mimeMessageBuilder()
-            .setText("test")
-            .addHeader("testheader", "testvalue")
-            .build();
+    static MimeMessage createMimeMessage() {
+        try {
+            return MimeMessageBuilder.mimeMessageBuilder()
+                .setText("test")
+                .addHeader("testheader", "testvalue")
+                .build();
+        } catch (MessagingException e) {
+            throw new RuntimeException(e);
+        }
     }
 }
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueContract.java
index 0f7b019..808ca47 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueContract.java
@@ -36,6 +36,7 @@ import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.mailet.Attribute;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.MailAddressFixture;
+import org.apache.mailet.base.test.FakeMail;
 import org.junit.jupiter.api.Test;
 
 import com.google.common.collect.ImmutableList;
@@ -54,7 +55,7 @@ public interface ManageableMailQueueContract extends MailQueueContract {
 
     @Test
     default void getSizeShouldReturnMessageCount() throws Exception {
-        enQueue(defaultMail().build());
+        enQueue(defaultMail().name("name").build());
 
         long size = getManageableMailQueue().getSize();
 
@@ -73,7 +74,7 @@ public interface ManageableMailQueueContract extends MailQueueContract {
 
     @Test
     default void dequeueShouldDecreaseQueueSize() throws Exception {
-        enQueue(defaultMail().build());
+        enQueue(defaultMail().name("name").build());
 
         getManageableMailQueue().deQueue().done(true);
 
@@ -84,7 +85,7 @@ public interface ManageableMailQueueContract extends MailQueueContract {
 
     @Test
     default void noAckShouldNotDecreaseSize() throws Exception {
-        enQueue(defaultMail().build());
+        enQueue(defaultMail().name("name").build());
 
         getManageableMailQueue().deQueue().done(false);
 
@@ -95,7 +96,7 @@ public interface ManageableMailQueueContract extends MailQueueContract {
 
     @Test
     default void processedMailsShouldNotDecreaseSize() throws Exception {
-        enQueue(defaultMail().build());
+        enQueue(defaultMail().name("name").build());
 
         getManageableMailQueue().deQueue();
 
@@ -464,8 +465,8 @@ public interface ManageableMailQueueContract extends MailQueueContract {
 
         ManageableMailQueue mailQueue = getManageableMailQueue();
         mailQueue.enQueue(defaultMail()
-            .attributes(ImmutableList.of(attribute1, attribute2))
             .name("mail with blob")
+            .attributes(ImmutableList.of(attribute1, attribute2))
             .build());
 
         Mail mail = mailQueue.browse().next().getMail();
@@ -517,12 +518,12 @@ public interface ManageableMailQueueContract extends MailQueueContract {
     @Test
     default void removeBySenderShouldRemoveSpecificEmail() throws Exception {
         enQueue(defaultMail()
-            .sender(OTHER_AT_LOCAL)
             .name("name1")
+            .sender(OTHER_AT_LOCAL)
             .build());
         enQueue(defaultMail()
-            .sender(SENDER)
             .name("name2")
+            .sender(SENDER)
             .build());
 
         getManageableMailQueue().remove(ManageableMailQueue.Type.Sender, OTHER_AT_LOCAL.asString());
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
index aa61299..439e7d0 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
@@ -36,7 +36,7 @@ public interface ManageableMailQueueFactoryContract {
         MailQueueFactory<ManageableMailQueue> mailQueueFactory = getMailQueueFactory();
         MailQueue firstCreation = mailQueueFactory.createQueue(NAME_1);
 
-        firstCreation.enQueue(Mails.defaultMail().build());
+        firstCreation.enQueue(Mails.defaultMail().name("name").build());
 
         ManageableMailQueue secondCreation = mailQueueFactory.createQueue(NAME_1);
         assertThat(secondCreation.getSize()).isEqualTo(1);
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/MailDTOTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/MailDTOTest.java
index eb73f45..712bcc5 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/MailDTOTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/MailDTOTest.java
@@ -86,6 +86,7 @@ class MailDTOTest {
     private MailReferenceDTO mailDTO1() throws MessagingException {
         return MailReferenceDTO.fromMail(
             FakeMail.builder()
+                .name("mail-name-558")
                 .recipients(MailAddressFixture.RECIPIENT1, MailAddressFixture.RECIPIENT2)
                 .sender(MailAddressFixture.SENDER)
                 .attribute(new Attribute(AttributeName.of("att1"), AttributeValue.of("value")))
@@ -102,7 +103,6 @@ class MailDTOTest {
                     .value("uedcgukrcg")
                     .build(), MailAddressFixture.RECIPIENT2)
                 .state("state")
-                .name("mail-name-558")
                 .build(),
             MimeMessagePartsId.builder()
                 .headerBlobId(BLOB_ID_FACTORY.from("210e7136-ede3-44eb-9495-3ed816d6e23b"))
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/api/DeleteConditionTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/api/DeleteConditionTest.java
index 8e743b6..b559aa7 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/api/DeleteConditionTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/api/DeleteConditionTest.java
@@ -42,7 +42,7 @@ class DeleteConditionTest {
         void allShouldReturnTrue() throws Exception {
             assertThat(
                 DeleteCondition.all()
-                    .shouldBeDeleted(FakeMail.builder().build()))
+                    .shouldBeDeleted(FakeMail.builder().name("name").build()))
                 .isTrue();
         }
 
@@ -82,6 +82,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withSender(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .sender(ADDRESS)
                         .build()))
                 .isTrue();
@@ -92,6 +93,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withSender(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .sender(ADDRESS_2)
                         .recipient(ADDRESS)
                         .build()))
@@ -103,6 +105,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withSender(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .sender(MailAddress.nullSender())
                         .build()))
                 .isFalse();
@@ -113,6 +116,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withSender(MailAddress.NULL_SENDER_AS_STRING)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .sender(MailAddress.nullSender())
                         .build()))
                 .isTrue();
@@ -189,6 +193,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withRecipient(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .recipient(ADDRESS)
                         .build()))
                 .isTrue();
@@ -199,6 +204,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withRecipient(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .recipients(ADDRESS, ADDRESS_2)
                         .build()))
                 .isTrue();
@@ -209,6 +215,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withRecipient(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .sender(ADDRESS)
                         .recipient(ADDRESS_2)
                         .build()))
@@ -220,6 +227,7 @@ class DeleteConditionTest {
             assertThat(
                 DeleteCondition.withRecipient(ADDRESS)
                     .shouldBeDeleted(FakeMail.builder()
+                        .name("name")
                         .build()))
                 .isFalse();
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org