我有一个ASP.Net/MVC应用程序,我试图发送HTML电子邮件。我正在通过读取带有标记的HTML文件来完成此操作,然后替换标记。这部分是罚款和生成HTML这就是我想要的东西,但是当我发送电子邮件,就是我收到的样子 -在C中使用SmtpClient发送电子邮件时出现问题#
<style type=3D"text/css">=
=0D=0A.styleTitles=0D=0A{=0D=0Afont-weight:=bold;=0D=0A}=0D=0A
.style1=0D=0A {=0D=0A
,应该看起来像
<style type="text/css">
.styleTitles
{
font-weight: bold;
}
.style1
{
height: 15px;
}
我已经看着网上,我似乎无法找到正确的语法来发送消息。我已经看到了一些解决方案,但似乎没有任何工作。
我目前的测试代码 -
SmtpClient smtpclient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress SendFrom = new MailAddress("[email protected]");
MailAddress SendTo = new MailAddress("[email protected]");
MailMessage MyMessage = new MailMessage(SendFrom, SendTo);
var plainView = AlternateView.CreateAlternateViewFromString(msgBody,null,"text/html");
plainView.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;
MyMessage.AlternateViews.Add(plainView);
MyMessage.IsBodyHtml = true;
MyMessage.Subject = subjectLine;
MyMessage.Body = msgBody;
smtpclient.Send(MyMessage);
有什么建议?
这导致消息以base64编码发送,它似乎工作。谢谢 我已经跟踪了真正的问题,事实上默认情况下“Content-Transfer-Encoding:quoted-printable”设置会导致所有问题。 quoted-printable设计用= 0D取代\ n,\ r用= 0A和= as = 3D取代。我还没有找到一个更好的方法来改变传输编码,所以它是8位,这会更简单。无论如何。谢谢。 – 2009-09-21 22:40:00