我想知道是否可以通过 .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/