2011-05-06 2 views
0

누락 된 부분을 누군가가 찾아 주길 바랍니다. Java 응용 프로그램 내에서 간단한 HTML 전자 메일을 보내려고합니다. 내 메일 lib로 commons-mail 1.1 (maven을 통해)을 사용하고 있습니다.HtmlEmail이 HTML을 올바르게 렌더링하지 못합니다 (아파치 공유지)

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

내가 이메일을 수신하고 있지만 thusly 히 포맷 :

내가 사용하는 코드입니다. 또한 주제가 없지만 분명히 내 코드에서 하나를 지정했음을 주목해야합니다.

------=_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: [email protected] 
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: <[email protected]> 
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 [email protected] 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 [email protected] designates x.x.x.x as permitted sender) [email protected] 
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: [email protected] 
Date: Fri, 6 May 2011 12:25:10 -0400 
Message-ID: <[email protected]> 

어떤 생각이라도 대단히 감사하겠습니다.

건배

답변

0

잘 모르겠습니다. 쉽게 테스트 할 수있는 방법이 없습니다.

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

어쩌면 이것이 문제 :

(<html><body><p>Some text for testing</p></body></html>)는 또한 나는이 눈치 사이트 - 난 평민 메일 보았다

모든 예제는 HTML로 포맷 된 MSG했다. ...,

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()); 

그냥 몇 가지 생각을 지금까지 평민 메일로 일한 적이

희망이 도움 :

는 그들은이 StringBuffer를를 사용하는가 API ? 에 기록되는 방식을 테스트 했 ! 감사합니다,