【问题标题】:Sending an html email with an image in GAE在 GAE 中发送带有图像的 html 电子邮件
【发布时间】:2012-04-07 00:50:36
【问题描述】:

当我当前从 GAE 中发送一封电子邮件时,我收到的电子邮件的 Content-Transfer-Encoding 为quoted-printable。我希望将其设置为 base64。除了在我收到电子邮件时未显示图像外,将找到引用的可打印文件。因为现在我的 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);

如何在 GAE 中发送带有图像的 html 电子邮件?我已阅读以下两个错误/功能请求,它们清楚地表明存在限制。

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

【问题讨论】:

  • 您是否在您的电子邮件客户端中检查了收到的电子邮件的来源? AFAIK,大多数电子邮件客户端不支持 HTML 嵌入图像。
  • 是的,我检查了源代码,一切看起来都很好,除了到处出现的 =3D。我没有意识到大多数电子邮件客户端不支持 HTML 嵌入图像....
  • =3D 来自quoted-printable 编码,没关系。各种电子邮件客户端似乎都不太支持 HTML 嵌入图像:campaignmonitor.com/blog/post/1761/embedding-images-in-email
  • 一个额外的信息,这不是像htmlBody.append("&lt;html&gt;");这样的好习惯使用jinja2模板,准备一个模板并重复使用它。在模板中,可以使用python代码。

标签: java google-app-engine email


【解决方案1】:

电子邮件客户端似乎不太支持 HTML 嵌入图像:http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/

支持的是附加到电子邮件的图像 HTML 图像:http://www.campaignmonitor.com/blog/post/1759/embedding-images-revisited/

但是,正如您在issue 的链接中指出的那样,GAE 对第二个选项的支持很差。您可以尝试手动创建第二个链接中显示的邮件内容。

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 2013-06-01
    • 2014-12-24
    • 2015-08-01
    • 2011-08-27
    • 2013-07-06
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    相关资源
    最近更新 更多