2012-03-22 180 views
1

當我從GAE中發送電子郵件時,我會收到帶有quoted-printable的Content-Transfer-Encoding的電子郵件。我期待着將其設置爲base64。除了當我收到電子郵件時不顯示圖像時,將會查找quoted-printable。因爲它是現在我的HTML看起來像這樣:在GAE中發送帶有圖像的html電子郵件

String base64StringImg = Base64.encode(my byte array); 

StringBuilder htmlBody = new StringBuilder(); 
htmlBody.append("<html>"); 
htmlBody.append("<body>"); 
htmlBody.append("<img src='data:image/png;base64,"); 
htmlBody.append(base64StringImg); 
htmlBody.append("'/>"); 
htmlBody.append("<br/><br/>"); 
htmlBody.append("Hello " + name); 
htmlBody.append("</body>"); 
htmlBody.append("</html>"); 


MimeMessage message = new MimeMessage(session); 
message.setFrom(new InternetAddress(fromUser)); 
message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); 
message.setSubject(subject); 
Multipart mp = new MimeMultipart(); 

BodyPart htmlPart = new MimeBodyPart(); 
htmlPart.setContent(htmlBody.toString(), "text/html; charset=UTF-8"); 
mp.addBodyPart(htmlPart); 
message.setContent(mp); 
Transport.send(message); 

我如何可以發送HTML格式的電子郵件,在GAE的圖像?我已閱讀了以下兩個錯誤/功能請求,這些錯誤/功能請求清楚地說明了存在限制。

http://code.google.com/p/googleappengine/issues/detail?id=198 http://code.google.com/p/googleappengine/issues/detail?id=965

+0

您是否在電子郵件客戶端中檢查收到的電子郵件的來源? AFAIK,大多數電子郵件客戶端不支持HTML嵌入式圖像。 – 2012-03-22 13:33:32

+0

是的,我檢查了源代碼,一切看起來很好,除了= 3D出現無處不在。我沒有意識到大多數電子郵件客戶端不會支持HTML嵌入圖像.... – 2012-03-22 13:38:42

+0

= 3D是來自引用打印的編碼,沒關係。看起來,HTML嵌入式圖像在各種電子郵件客戶端中得不到很好的支持:http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/ – 2012-03-22 14:36:19

回答

相關問題