我有一个正在发送电子邮件的asp.net应用程序。在电子邮件中,我要在签名区域(主体下方)附加公司徽标。看这个网站Embed image in Email - ASP.NET , C#
我在遇到错误
AlternateView av1 = AlternateView.CreateAlternateViewFromString("<html><body>" + msgBody, null, MediaTypeNames.Text.Html + "<br><img src=cid:companylogo/><br></body></html>");

错误是:指定的媒体类型无效。

我的代码是:

msgBody += "Contact Email: " + contactemailaddr + "<br/><br/>";
LinkedResource logo = new LinkedResource("C:\\Data\\Images\\companylogo.jpg");
logo.ContentId = "corpLogo";

AlternateView av1 = AlternateView.CreateAlternateViewFromString("<html><body>" + msgBody, null, MediaTypeNames.Text.Html + "<br><img src=cid:companylogo/><br></body></html>");
av1.LinkedResources.Add(logo);
message.AlternateViews.Add(av1);


任何想法可能是什么原因造成的?

最佳答案

将AlternateView行更改为:

AlternateView av1 = AlternateView.CreateAlternateViewFromString("<html><body>" + msgBody + "<br><img src=cid:companylogo/><br></body></html>", null, MediaTypeNames.Text.Html);


问题是您要将徽标附加到媒体类型参数。该参数仅用于消息的mime类型。徽标应附加到实际的content参数。

关于c# - 将徽标附加到asp.net生成的电子邮件时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9081761/

10-13 07:02