2012-03-22 3 views
1

GAE에서 현재 전자 메일을 보내면 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); 

어떻게 GAE에서 이미지가있는 html 전자 메일을 보낼 수 있습니까? 나는 한계가 있다는 것을 분명히하기 위해 다음의 두 가지 버그/기능 요청을 읽었다.

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

+0

이메일 클라이언트에서받은 이메일의 소스를 확인 했습니까? AFAIK, 대부분의 이메일 클라이언트는 HTML 이미지를 지원하지 않습니다. –

+0

예 출처를 확인했는데 어디에서나 표시되는 3D를 제외하고는 모든 것이 잘 보입니다. 나는 대부분의 이메일 클라이언트가 HTML 임베디드 이미지를 지원하지 않을 것이라는 것을 깨닫지 못했다 .... –

+0

= 3D는 인용 된 인쇄 가능한 인코딩에서 나온 것이므로 괜찮습니다. HTML 임베디드 이미지가 다양한 이메일 클라이언트에서 잘 지원되지 않는 것 같습니다 : http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/ –

답변

0

HTML 포함 된 이미지는 제대로 이메일 클라이언트에서 지원하는 것 : http://www.campaignmonitor.com/blog/post/1761/embedding-images-in-email/

은 무엇인가 지원되는 이미지는 이메일에 첨부 된 이미지입니다. http://www.campaignmonitor.com/blog/post/1759/embedding-images-revisited/

issue에 대한 링크와 함께 언급했듯이 두 번째 옵션은 GAE에서 제대로 지원되지 않습니다. 두 번째 링크에 표시된 메일 콘텐츠를 손으로 직접 만들 수 있습니다.