HtmlEmail неправильно отображает HTML (Apache Commons) - PullRequest
0 голосов
/ 06 мая 2011

Надеясь, что кто-то может найти то, что мне не хватает.Я пытаюсь отправить простое письмо в формате HTML в приложении Java.Я использую commons-mail 1.1 (через maven) в качестве своей почтовой библиотеки.

Я использую код:

HtmlEmail email = new HtmlEmail();
email.setDebug(true);
email.setHostName("my.emailhost.com");
email.addTo("my_gmail_address@gmail.com");
email.setFrom("my_work_address@emailhost.com");
email.setSubject("Test Subject");
email.setHtmlMsg("<b>This is a bolded message</b>");
email.setTextMsg("This is a text message");
email.send();

Я получаю письмо, но оно отформатировано таким образом,Следует также отметить, что темы нет, но я явно указал ее в своем коде.

------=_Part_0_122395252.1304699110505
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

This is a text message
------=_Part_0_122395252.1304699110505
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<b>This is a bolded message</b>
------=_Part_0_122395252.1304699110505--

Я не уверен, что я делаю здесь не так.Я переключился на отправку через Gmail - и он отправил, он просто отформатировал его точно так же.Когда я просматриваю необработанное сообщение, я вижу

Delivered-To: xxxxxxx@gmail.com
Received: by 10.90.73.11 with SMTP id v11cs143993aga;
        Fri, 6 May 2011 09:25:11 -0700 (PDT)
Received: by 10.236.187.97 with SMTP id x61mr4380232yhm.476.1304699111088;
        Fri, 06 May 2011 09:25:11 -0700 (PDT)
Return-Path: <xxxxxxx@xxxxxxx.com>
Received: from xxxxxxx.xxxxxxx.com (xxxxxxx.xxxxxxx.com [x.x.x.x])
        by mx.google.com with ESMTP id 68si9400486yhl.82.2011.05.06.09.25.10;
        Fri, 06 May 2011 09:25:10 -0700 (PDT)
Received-SPF: pass (google.com: domain of xxxxxxx@xxxxxxx.com designates x.x.x.x as permitted sender) client-ip=x.x.x.x;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of xxxxxxx@xxxxxxx.com designates x.x.x.x as permitted sender) smtp.mail=xxxxxxx@xxxxxxx.com
Received: from xxxxxxx-mac-pro.local ([x.x.x.x])
          by xxxxxxx.xxxxxxx.com (Lotus Domino Release 8.5.1FP3)
          with ESMTP id 2011050612251028-17357 ;
          Fri, 6 May 2011 12:25:10 -0400 
From: xxxxxxx@xxxxxxx.com
Date: Fri, 6 May 2011 12:25:10 -0400
Message-ID: <OF8BBF4CBD.70926756-ON85257888.005A31F5@xxxxxxx.com>

Любые мысли будут с благодарностью.

Приветствия

1 Ответ

0 голосов
/ 06 мая 2011

Я не уверен, и у меня нет простого способа проверить это сам.

Все примеры, которые я видел для commons-mail, имели формат сообщения в формате HTML - site (<html><body><p>Some text for testing</p></body></html>)

Кроме того, я заметил это:

email.setHtmlMsg("<b>This is a bolded message</b>"); // HTML TEXT
email.setTextMsg("This is a text message"); // NORMAL Text, with no HTML styles

возможно это проблема.

Вы проверяли, как это написано в API? Они используют StringBuffer:

 StringBuffer msg = new StringBuffer();
 msg.append("<html><body>");
 msg.append("<img src=cid:").append(he.embed(img)).append(">");
 msg.append("<img src=cid:").append(he.embed(png)).append(">");
 msg.append("</body></html>");
 HtmlEmail he = new HtmlEmail();
he.setHtmlMsg(msg.toString());

Просто некоторые мысли, до сих пор никогда не работал с обычной почтой ...

Надеюсь, это поможет! С уважением,

...