Workaround for Kerio Outlook Connector

master
M66B 2 months ago
parent 5dd76576fb
commit 1eacdcca50

@ -5213,6 +5213,23 @@ public class MessageHelper {
// https://datatracker.ietf.org/doc/html/rfc2634#section-2 // https://datatracker.ietf.org/doc/html/rfc2634#section-2
} else { } else {
if (TextUtils.isEmpty(smimeType)) { if (TextUtils.isEmpty(smimeType)) {
String xmailer = imessage.getHeader("X-Mailer", null);
if (xmailer != null && xmailer.contains("Kerio Outlook Connector")) {
Object content = tryParseMultipart(Helper.readStream(part.getInputStream()), part.getContentType());
if (content instanceof Multipart) {
Multipart multipart = (Multipart) content;
int count = multipart.getCount();
for (int i = 0; i < count; i++)
try {
BodyPart child = multipart.getBodyPart(i);
getMessageParts(part, child, parts, null);
} catch (ParseException ex) {
Log.w(ex);
parts.warnings.add(Log.formatThrowable(ex, false));
}
return parts;
}
} else {
String name = ct.getParameter("name"); String name = ct.getParameter("name");
if ("smime.p7m".equalsIgnoreCase(name)) { if ("smime.p7m".equalsIgnoreCase(name)) {
getMessageParts(null, part, parts, EntityAttachment.SMIME_MESSAGE); getMessageParts(null, part, parts, EntityAttachment.SMIME_MESSAGE);
@ -5222,6 +5239,7 @@ public class MessageHelper {
return parts; return parts;
} }
} }
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("Unexpected smime-type=").append(ct); sb.append("Unexpected smime-type=").append(ct);
Log.e(sb.toString()); Log.e(sb.toString());

Loading…
Cancel
Save