图像不会出现在电子邮件中

时间:2012-01-04 19:01:19

标签: c# asp.net-mvc email html-email

我的MVC应用程序的App_Data文件夹中有一个HTML电子邮件模板。在我的代码中,我使用此模板向用户发送HTML电子邮件。此模板引用了项目中文件夹中的一些图像。问题是当用户收到电子邮件时,这些图像根本不会出现。我尝试使用~/path引用图片到image/image.gif。我尝试使用../../path to image/image.gif并将图像复制到App_Data文件夹,然后引用图像image.gif。什么都行不通。有没有人有什么建议?

4 个答案:

答案 0 :(得分:7)

图片需要存储在可公开访问的位置,并完全引用图片<img src="http://my.domain.com/images/filename.ext" />,或者图片需要嵌入到电子邮件中。

答案 1 :(得分:1)

图片背后的原因不在电子邮件中显示,因为电子邮件客户端无法获取路径 指定。

对于您可以在下面执行的解决方案

  1. 首先将简单图片网址替换为公开访问网址 [表示如果您在浏览器中复制图像URL,则可以访问浏览器],请确保您的图像文件夹未通过身份验证

答案 2 :(得分:1)

正如杰森所说,你必须把整个网址,但如果你把你的图像放在App_Data中,他们将无法从外部访问,因为这是一个受保护的文件夹。你有另一个选择将图像放入邮件,IMO这是一种将图像放入邮件的首选方式,电子邮件客户端不会抱怨并要求显示图像的权限。以下是如何执行此操作的示例

http://www.codeproject.com/KB/aspnet/EmbedImage.aspx

答案 3 :(得分:0)

你也可以使用google picasa。 将图像上传到picasa,将可见性设置为公开,进入相册和右侧 您将链接到此照片链接。 按此链接并选择要显示的大小,仅标记图像 复选框,您将有一个链接准备嵌入邮件。 将链接放在src中即可。