Отправить HTML письмо с вложением в формате PDF с помощью Java

Я пытаюсь отправить электронное письмо с Java, я использую библиотеку электронной почты Apache Commons.

Мне не удается отправить электронное письмо с телом в формате HTML и вложением в виде PDF (или файла любого типа)

Если я использую EmailAttachment() и добавляю его в объект HtmlEmail, моя почта выглядит как с двумя вложениями. Первый для HTML, второй для PDF.

Есть ли способ сделать это?

Большое спасибо!

2 ответа

Я попробовал Apache Commons Mail v1.2 вместо 1.1.

Оно работает!?

Андрей, кстати большое спасибо за любезную помощь.

Это звучит как относительно нормальное поведение для сообщения, которое отправляется как в виде текста, так и в формате HTML, и / или почтового клиента (на стороне получателя), который предпочитает текстовые электронные письма. Я подозреваю, что это связано с поведением клиента, которое вы не сможете изменить (но с другой стороны, все электронные письма в формате HTML будут выглядеть так).

Дело в том, что электронное письмо в формате HTML (с текстовым компонентом) на самом деле является составным сообщением, в котором содержимое HTML является одной из "дополнительных" частей. Все, что вы на самом деле отправляете в электронном письме со стороны сервера, - это куча текста, и принимающий почтовый клиент должен решить, как его отобразить. В этом отношении для клиента не является неправильным отображать ваш HTML в качестве вложения - точно так же, как для умного клиента не является ошибкой вывод, что HTML не является "настоящим" вложением, и активирует своего рода переключение между текстом. и HTML (вместо того, чтобы отображать его как вложение).

Если вы уверены, что клиент будет нормально относиться к HTML таким умным способом, то:

  1. Вам нужно будет указать, какой клиент вы используете для проверки, потому что на самом деле это не проблема отправки; а также
  2. Возможно, вы захотите взглянуть на необработанный источник электронной почты, который "работает", и вашу электронную почту, которая не работает, чтобы определить, какие критические различия вызывают различные режимы рендеринга. В зависимости от клиентского программного обеспечения это может быть что угодно, но я бы уделил особое внимание типам MIME и кодировкам деталей.
Другие вопросы по тегам