Отправить HTML письмо с вложением в формате PDF с помощью Java - PullRequest
0 голосов
/ 31 января 2011

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

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

Работает!?

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

0 голосов
/ 31 января 2011

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

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

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

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