65.9K
CodeProject 正在变化。 阅读更多。
Home

发送内联图片邮件 (VB.NET 2.0)

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.19/5 (9投票s)

2007 年 8 月 22 日

CPOL
viewsIcon

108539

downloadIcon

2231

发送带有嵌入式图像文件的 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 日:初始发布
© . All rights reserved.