Не отображаются встроенные картинки в электронных письмах формата html, отправляемые из некоторых почтовых сервисов.
Проблемы наблюдаются при отправке писем из mail.ru (и всех их ящиков, таких как @bk.ru etc), rambler.ru.
При отправке писем например из яндекс почты все отображается нормально.
Это касается всех версий аддона imap.
Продебажил исходники аддона, нашел проблему в методе getMultipartBody класса ImapHelper.java
Object content = p.getContent();
if (content instanceof InputStream) {
return new Body(IOUtils.toString((InputStream) p.getContent(), StandardCharsets.UTF_8), false);
} else if (content instanceof Multipart) {
Multipart mp = (Multipart) content;
Body body = null;
for (int i = 0; i < mp.getCount(); i++) {
Part bp = mp.getBodyPart(i);
if (bp.isMimeType("text/html")) {
Body b = getSinglePartBody(bp);
if (b != EMPTY) {
return b;
}
} else if (bp.isMimeType("multipart/*")) {
if (body == null || body == EMPTY) {
body = getMultipartBody(bp);
}
} else {
if (body == null || body == EMPTY) {
body = getSinglePartBody(bp);
}
}
}
return body;
}
return EMPTY;
}
предпоследний if не нужен, должно быть так:
Object content = p.getContent();
if (content instanceof InputStream) {
return new Body(IOUtils.toString((InputStream) p.getContent(), StandardCharsets.UTF_8), false);
} else if (content instanceof Multipart) {
Multipart mp = (Multipart) content;
Body body = null;
for (int i = 0; i < mp.getCount(); i++) {
Part bp = mp.getBodyPart(i);
if (bp.isMimeType("text/html")) {
Body b = getSinglePartBody(bp);
if (b != EMPTY) {
return b;
}
} else if (bp.isMimeType("multipart/*")) {
body = getMultipartBody(bp);
} else {
if (body == null || body == EMPTY) {
body = getSinglePartBody(bp);
}
}
}
return body;
}
return EMPTY;
}