Вы должны использовать один или два заголовка для каждого вложения:
Если это нормальное вложение:
- Content-Disposition: приложение; имя файла = ...
Если это встроенное вложение (изображение для вашей почты)
- Содержание-Диспозиция: встроенная
- Идентификатор контента: произвольный идентификатор
Это извлечено для небольшой программы отправки, которую я запрограммировал некоторое время назад:
bodyPart
- это MimeBodyPart
.
bodyPart.setHeader("Content-Disposition", disp + "; filename=" + encodedFileName);
bodyPart.setHeader("Content-Transfer-Encoding", "base64");
if (att.getContextId() != null && att.getContextId().length() > 0)
bodyPart.setHeader("Content-ID", "<" + att.getContextId() + ">");
В нем: disp имеет inline
или attachment
, а att.getContextId()
имеет произвольный идентификатор для встроенного вложения.
Мой рецепт для письма HTML
message has via .setContent(...)
mainMultipart is a MimeMultiPart("alternative")
and has via .addBodyPart(...)
textBodyPart is a MimeBodyPart with content-type "text/plain"
relatedMultipart is a MimeMultipart("related")
and has via .addBodyPart(...)
htmlBodyPart "text/html; charset=utf-8"
INLINED-ATTACH1
INLINED-ATTACH2
NORMAL-ATTACH1
NORMAL-ATTACH2