c# - 发送内联 MHTML

标签 c# .net email mhtml

我想知道是否可以通过 .NET 2.0 MailMessage object发送即时创建的内联 MHTML 文件。

我所说的内联是指:它应该以用户可以看到的方式发送,一旦他打开电子邮件,而无需打开/下载附件。

最佳答案

这有点棘手,但是是的,您可以做到。事实上,MailMessage 类只不过是系统 CDO.Message 类之上的一个包装器,它可以做到这一点。 您也可以使用 AlternateView 功能,它更简单:

MailMessage mailMessage = new MailMessage("me@me.com"
    ,"me@me.com"
    ,"test"
    ,"");
string ContentId = "wecandoit.jpg";
mailMessage.Body = "<img src=\"cid:" + ContentId + "\"/>";
AlternateView av = AlternateView.CreateAlternateViewFromString(mailMessage.Body
    ,null
    ,MediaTypeNames.Text.Html);
LinkedResource lr = new LinkedResource(@"d:\Personal\My Pictures\wecandoit.jpg");
lr.ContentId = ContentId;
lr.ContentType.Name = ContentId;
lr.ContentType.MediaType = "image/jpeg";
av.LinkedResources.Add(lr);
mailMessage.AlternateViews.Add(av);
SmtpClient cl = new SmtpClient();
cl.PickupDirectoryLocation = @"c:\test";
cl.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
cl.Send(mailMessage);

关于c# - 发送内联 MHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/916388/

相关文章:

c# - 如何在另一个旁边显示动态创建的 DIV?

c# - 如何将 javascript 和 cshtml 文件分散到单独的项目中

php - 邮件中的 html 未显示。内联图像确实

java - 从 ImageHtmlEmail 获取电子邮件文本

c# - Entity Framework : how to do correct "Include" on custom type

c# - .NET:十进制到四舍五入的字符串

c# - GDI+ 中的非缩放笔

python - 通过 Python 脚本删除最近收到的电子邮件?

c# - 如何制作登录系统C#

c# - 如何在 LINQ 连接中添加 Where 条件