From 63554c74386b1b21cc237fde474726cbbbe9d771 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 28 Jan 2022 21:53:28 +0100 Subject: [PATCH] Experiment --- .../java/eu/faircode/email/MessageHelper.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 21fcdf2481..98898227dc 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -37,10 +37,13 @@ import androidx.preference.PreferenceManager; import com.sun.mail.gimap.GmailMessage; import com.sun.mail.iap.ProtocolException; +import com.sun.mail.iap.Response; import com.sun.mail.imap.IMAPBodyPart; import com.sun.mail.imap.IMAPFolder; import com.sun.mail.imap.IMAPMessage; +import com.sun.mail.imap.Utility; import com.sun.mail.imap.protocol.IMAPProtocol; +import com.sun.mail.imap.protocol.MessageSet; import com.sun.mail.util.ASCIIUtility; import com.sun.mail.util.BASE64DecoderStream; import com.sun.mail.util.FolderClosedIOException; @@ -3888,6 +3891,18 @@ public class MessageHelper { if ("Failed to load IMAP envelope".equals(ex.getMessage()) || "Unable to load BODYSTRUCTURE".equals(ex.getMessage())) try { + if (false) + ((IMAPFolder) imessage.getFolder()).doCommand(new IMAPFolder.ProtocolCommand() { + @Override + public Object doCommand(IMAPProtocol p) throws ProtocolException { + MessageSet[] set = Utility.toMessageSet(new Message[]{imessage}, null); + Response[] r = p.fetch(set, p.isREV1() ? "BODY.PEEK[]" : "RFC822"); + p.notifyResponseHandlers(r); + p.handleResult(r[r.length - 1]); + return null; + } + }); + Log.w("Fetching raw message"); File file = File.createTempFile("serverbug", null, cacheDir); try (OutputStream os = new BufferedOutputStream(new FileOutputStream(file))) {