Skip to content

Commit d981f27

Browse files
committed
#396: ignore error in case attached nested Outlook message actually contains no content
1 parent 3f03c0f commit d981f27

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

modules/outlook-module/src/main/java/org/simplejavamail/internal/outlooksupport/converter/OutlookEmailConverter.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.simplejavamail.internal.outlooksupport.converter;
22

3+
import jakarta.mail.MessagingException;
34
import jakarta.mail.internet.MimeMessage;
45
import jakarta.mail.util.ByteArrayDataSource;
56
import org.jetbrains.annotations.NotNull;
@@ -108,8 +109,15 @@ private static EmailFromOutlookMessage buildEmailFromOutlookMessage(
108109
final Email email = buildEmailFromOutlookMessage(builderFactory.create(), nestedMsg, builderFactory, internalEmailConverter)
109110
.getEmailBuilder().buildEmail();
110111
final MimeMessage message = internalEmailConverter.emailToMimeMessage(email);
111-
final byte[] mimedata = internalEmailConverter.mimeMessageToEMLByteArray(message);
112-
builder.withAttachment(nestedMsg.getSubject() + ".eml", new ByteArrayDataSource(mimedata, "message/rfc822"));
112+
try {
113+
final byte[] mimedata = internalEmailConverter.mimeMessageToEMLByteArray(message);
114+
builder.withAttachment(nestedMsg.getSubject() + ".eml", new ByteArrayDataSource(mimedata, "message/rfc822"));
115+
} catch (IllegalStateException e) {
116+
boolean reasonIsEmptyMessage = e.getCause() instanceof MessagingException && e.getCause().getMessage().equals("No MimeMessage content");
117+
if (!reasonIsEmptyMessage) throw e;
118+
// :sadface: nested message attachment is actually invalid (possibly empty because of #396),
119+
// so we're justgoing to ignore it
120+
}
113121
}
114122
}
115123

0 commit comments

Comments
 (0)