我有一个C#应用程序,它使用包含嵌入图像(jpeg)的HTML格式(AlternateView)生成电子邮件。
可以在Windows上的Android,iOS,Outlook(2010)上正确查看电子邮件,但不能在Windows 8 / 8.1手机和平板电脑上的本机电子邮件客户端上查看(虽然它可以在Win 8.1平板电脑上运行的Outlook中找到)
然而,Win 8手机/平板电脑上的违规电子邮件客户端可以正确查看电子邮件,其中包含从PC上运行的嵌入式图像。
我唯一能找到的就是确保在LinkedResource上设置了ContentType - 我在构造函数中这样做: LinkedResource pic1 = new LinkedResource(imgPath,MediaTypeNames.Image.Jpeg);
以下代码。
有什么建议吗?
string picId = "Pic1-" + Guid.NewGuid().ToString();
string htmlBody = "<html><body><h1>Test Message</h1><img src=\"cid:" + picId + "\"></body></html>";
AlternateView avHtml = AlternateView.CreateAlternateViewFromString
(htmlBody, null, MediaTypeNames.Text.Html);
// Create a LinkedResource object for each embedded image
LinkedResource pic1 = new LinkedResource(imgPath, MediaTypeNames.Image.Jpeg);
pic1.ContentId = picId;
avHtml.LinkedResources.Add(pic1);
// Add the alternate views instead of using MailMessage.Body
MailMessage m = new MailMessage();
m.AlternateViews.Add(avHtml);
// Address and send the message
m.From = new MailAddress(fromAddress, fromName);
m.To.Add(new MailAddress(toAddress));
m.Subject = subject;
SmtpClient client = new SmtpClient(AsbSmtpServer);
client.Send(m);