Skip to content

Commit 4bee818

Browse files
committed
#108 Properly test message id's and removed old hacks
1 parent a62d54e commit 4bee818

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/main/java/org/simplejavamail/converter/EmailConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ private static void fillEmailFromMimeMessage(@Nonnull final Email email, @Nonnul
245245
email.addHeader(header.getKey(), header.getValue());
246246
}
247247
}
248+
email.setId(mimeMessage.getMessageID());
248249
for (final InternetAddress to : parser.getTo()) {
249250
email.addNamedToRecipients(to.getPersonal(), to.getAddress());
250251
}

src/test/java/org/simplejavamail/mailer/MailerLiveTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.simplejavamail.mailer;
22

33
import org.junit.Before;
4-
import org.junit.Ignore;
54
import org.junit.Rule;
65
import org.junit.Test;
76
import org.simplejavamail.email.AttachmentResource;
@@ -22,7 +21,6 @@
2221
import static javax.mail.Message.RecipientType.TO;
2322
import static org.assertj.core.api.Assertions.assertThat;
2423
import static org.simplejavamail.converter.EmailConverter.mimeMessageToEmail;
25-
import static org.simplejavamail.internal.util.MiscUtil.valueNullOrEmpty;
2624
import static testutil.EmailHelper.normalizeText;
2725
import static testutil.EmailHelper.readOutlookMessage;
2826

@@ -67,7 +65,6 @@ public void createMailSession_StandardDummyMail_IncludingCustomHeaders()
6765
}
6866

6967
@Test
70-
@Ignore("Unfortunately, Wiser doesn't seem to get the ID back, but I confirmed with gmail that the (correct) ID should be there")
7168
public void createMailSession_StandardDummyMailWithId()
7269
throws IOException, MessagingException {
7370
assertSendingEmail(EmailHelper.createDummyEmail("<123@456>", true, false, false));
@@ -107,14 +104,17 @@ private Email assertSendingEmail(final Email originalEmail)
107104
throws MessagingException {
108105
mailer.sendMail(originalEmail);
109106
MimeMessage receivedMimeMessage = smtpServerRule.getOnlyMessage();
110-
if (!valueNullOrEmpty(originalEmail.getId())) {
111-
assertThat(receivedMimeMessage.getMessageID()).isEqualTo(originalEmail.getId());
112-
}
107+
assertThat(receivedMimeMessage.getMessageID()).isEqualTo(originalEmail.getId());
108+
113109
Email receivedEmail = mimeMessageToEmail(receivedMimeMessage);
114110
// hack: it seems Wiser automatically defaults replyTo address to the From address if left empty
115111
if (originalEmail.getReplyToRecipient() == null) {
116112
originalEmail.setReplyToAddress(originalEmail.getFromRecipient());
117113
}
114+
// received email will always have an id, so let's make sure we're able to compare to the original email object
115+
if (originalEmail.getHeaders().get("Message-ID") == null) {
116+
originalEmail.addHeader("Message-ID", originalEmail.getId());
117+
}
118118
assertThat(receivedEmail).isEqualTo(originalEmail);
119119
return receivedEmail;
120120
}

src/test/java/testutil/testrules/SmtpServerRule.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ public MimeMessage getOnlyMessage()
7070
List<WiserMessage> messages = getMessages();
7171
assertThat(messages).hasSize(1);
7272
MimeMessage mimeMessage = messages.iterator().next().getMimeMessage();
73-
mimeMessage.removeHeader("Message-ID");
7473
return mimeMessage;
7574
}
7675

0 commit comments

Comments
 (0)