如何在HTML电子邮件中显示图像?

时间:2010-08-24 13:21:04

标签: html image embed

我正在编写一个j2ee应用程序,它生成一个html并将其作为电子邮件发送。在我的HTML中,有一个图像,但收到电子邮件时不显示。 html代码类似于:

<img src="myimage.gif"></img>

其中“myimage.gif”作为附件发送到电子邮件中。 我试图将其改为

<img src="cid:myimage.gif"></img>

但仍然没有结果。有任何想法吗? 它应该没有图像的链接。

3 个答案:

答案 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)

如果图片足够小,您可以使用我的HTML表格像素格式:)

请参阅我的博客了解详情:HTML Table Pixel Format

这只是普通的有效HTML,但它会呈现为图像。

/无耻插头的结尾