发送内联图片邮件 (VB.NET 2.0)
发送带有嵌入式图像文件的 HTML 邮件,而不是外部链接。 大多数邮件客户端会直接显示内联图片,因为安全性风险较低。 不再出现图片损坏的情况。
引言
此解决方案旨在演示如何发送带有嵌入式图像文件的 HTML。 此解决方案应扩展到包含任何非文本对象。
背景
我经常收到朋友发来的带有损坏链接或图片的邮件。 这是因为许多邮件客户端或 Web 邮件提供商会阻止外部图片(即引用托管在其他域名/服务器上的图片)。 我觉得这很烦人,因为它需要我手动调整垃圾邮件过滤器或将发件人添加到安全列表。
Using the Code
下载 zip 文件并打开解决方案。 代码易于阅读和理解。
请注意,所有字段都是必需的。 您可以添加自己的代码进行验证或预设值。
'
' The main trick is to use ContentId to reference the attachment
'
Dim A As System.Net.Mail.Attachment = _
New System.Net.Mail.Attachment(txtImagePath.Text)
Dim RGen As Random = New Random()
A.ContentId = RGen.Next(100000, 9999999).ToString()
EM.Body = "<img src='cid:" + A.ContentId +"'>"
关注点
请体谅收件人,如果您的图片非常大(以文件大小而言),最好还是使用外部图片发送 HTML。 不要撑爆他们的邮箱! 否则,您将被添加到他们的“垃圾邮件发送者”列表中。
这是我对 The Code Project 的第一次贡献。 我尝试搜索相关主题但失败了。 希望对您有所帮助。
历史
- 2007 年 8 月 22 日:初始发布