我想知道是否可以通过MHTML2.0MHTML2.0 MailMessage object发送一个动态创建的内联.NET文件。
内联我的意思是:它应该以一种用户可以看到的方式发送,一旦他打开电子邮件,而不需要打开/下载附件。
发布于 2009-05-28 13:46:58
(jdecuyper --谢谢你的插件,因为我写了aspNetEmail)。
您可以使用aspNetEmail来实现这一点。您可以使用MHT替换电子邮件的全部内容。
你不能用System.Net.Mail做到这一点,但如果你想走商业路线,在dave@advancedintellect.com上给我发一封电子邮件,我会向你展示如何做到这一点。
如果你想走开源路线,可能有一些代码项目上的SMTP代码,你可以修改它来实现这一点。基本上,您将把内容注入到SMTP进程的DATA命令中。
需要注意的一点是:如果您的MHT文档中嵌入了脚本、flash、activeX对象或任何可能被邮件客户端阻止的内容,则它可能不会呈现与您在浏览器中看到的内容相同的内容。
发布于 2009-06-02 06:31:44
这有点棘手,但是的,你可以做到。实际上,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);发布于 2009-05-27 16:00:37
您是否正在尝试将一些图像添加到html电子邮件中?
要做到这一点,你需要在你的电子邮件中嵌入图像。我找到了一个tutorial,只需几行代码即可完成此任务。您还可以购买aspnetemail程序集。发送带有嵌入图像的电子邮件一直对我有很大帮助,如果出现任何问题,他们也有一个优秀的支持团队。
请记住,嵌入图像会使您的电子邮件更重,但更好:)
https://stackoverflow.com/questions/916388
复制相似问题