當我從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
您是否在電子郵件客戶端中檢查收到的電子郵件的來源? AFAIK,大多數電子郵件客戶端不支持HTML嵌入式圖像。 – 2012-03-22 13:33:32
是的,我檢查了源代碼,一切看起來很好,除了= 3D出現無處不在。我沒有意識到大多數電子郵件客戶端不會支持HTML嵌入圖像.... – 2012-03-22 13:38:42
= 3D是來自引用打印的編碼,沒關係。看起來,HTML嵌入式圖像在各種電子郵件客戶端中得不到很好的支持:http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/ – 2012-03-22 14:36:19