Improved raw fetch

pull/212/head
M66B 2 years ago
parent f03867f115
commit b3360dde2b

@ -1998,9 +1998,12 @@ public class MessageHelper {
try { try {
// Workaround reformatted headers (Content-Type) // Workaround reformatted headers (Content-Type)
// This will do a BODY.PEEK[] to fetch the headers and message body // This will do a BODY.PEEK[] to fetch the headers and message body
Properties props = MessageHelper.getSessionProperties(true); MimeMessage amessage = imessage;
Session isession = Session.getInstance(props, null); if (imessage instanceof ReadableMime) {
MimeMessage amessage = new MimeMessage(isession, ((ReadableMime) imessage).getMimeStream()); Properties props = MessageHelper.getSessionProperties(true);
Session isession = Session.getInstance(props, null);
amessage = new MimeMessage(isession, ((ReadableMime) imessage).getMimeStream());
}
// https://datatracker.ietf.org/doc/html/rfc6376/ // https://datatracker.ietf.org/doc/html/rfc6376/
String[] headers = amessage.getHeader("DKIM-Signature"); String[] headers = amessage.getHeader("DKIM-Signature");
@ -4810,8 +4813,11 @@ public class MessageHelper {
try { try {
if (imessage instanceof IMAPMessage) { if (imessage instanceof IMAPMessage) {
if (Boolean.parseBoolean(imessage.getSession().getProperty("fairemail.rawfetch"))) if (Boolean.parseBoolean(imessage.getSession().getProperty("fairemail.rawfetch"))) {
throw new MessagingException("Unable to load BODYSTRUCTURE"); Properties props = MessageHelper.getSessionProperties(true);
Session isession = Session.getInstance(props, null);
imessage = new MimeMessage(isession, ((ReadableMime) imessage).getMimeStream());
}
if (structure) if (structure)
imessage.getContentType(); // force loadBODYSTRUCTURE imessage.getContentType(); // force loadBODYSTRUCTURE

Loading…
Cancel
Save