現在GAE内から電子メールを送信すると、Content-Transfer-Encoding with quoted-printableのメールが送信されます。私はこれをbase64に設定しようとしています。私がメールを受け取ったときに画像が表示されないことを除いて、quoted-printableはfindになります。今のように私の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);
GAEで画像を含むHTML電子メールを送信するにはどうすればよいですか?私は制限があることを明確にする次の2つのバグ/機能要求を読んだ。
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埋め込み画像はさまざまな電子メールクライアントでうまくサポートされていないようです:http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/ –