我正在编写一个j2ee应用程序,它生成一个html并将其作为电子邮件发送。在我的HTML中,有一个图像,但收到电子邮件时不显示。 html代码类似于:
<img src="myimage.gif"></img>
其中“myimage.gif”作为附件发送到电子邮件中。 我试图将其改为
<img src="cid:myimage.gif"></img>
但仍然没有结果。有任何想法吗? 它应该没有图像的链接。
答案 0 :(得分:3)
您应该将图像上传到服务器并将其作为src
中的硬编码网址引用e.g。上传到你的html中的myserver.com/images/myimage.gif
<img src="http://myserver.com/images/myimage.gif" />
答案 1 :(得分:1)
看看Commons Email。它构建于Java Mail API之上,但简化了它。
他们有一个示例,用于发送带有内嵌图片的{h}邮件http://commons.apache.org/email/userguide.html
import org.apache.commons.mail.HtmlEmail;
...
// Create the email message
HtmlEmail email = new HtmlEmail();
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("Test email with inline image");
// embed the image and get the content id
URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
String cid = email.embed(url, "Apache logo");
// set the html message
email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");
// set the alternative message
email.setTextMsg("Your email client does not support HTML messages");
// send the email
email.send();
答案 2 :(得分:0)