繁体   English   中英

在SMTP邮件中编码HTML

[英]Encode HTML in SMTP Message

我不尝试SMTPClient,并想向客户发送HTML格式的电子邮件。 相反,电子邮件包含所有标签,而不包含格式化的文档。 这是我的代码:

public void SendMailMessage(string FromAddress, string FromName, string ToName, string ToAddress, string Subject)
{
    MailAddress fromAdd = new MailAddress(FromAddress, FromName);
    MailAddress toAdd = new MailAddress(ToAddress);
    MailMessage msg = new MailMessage(fromAdd, toAdd);
    msg.IsBodyHtml = true;
    msg.BodyEncoding = System.Text.Encoding.UTF8;
    msg.Subject = Subject;
    string HtmlContent = "<div id='emailFormat' style='width: 100%; background-color: #efeac9;'>" +
                       "< div id = 'emailMsg' style = 'margin-left: auto; margin-right: auto; width: 600px; margin-top: 15px; font-family: Tahoma; font-size: .9em;' ><h2>Hello World</h2></div></div>");
    msg.Body = HtmlContent;
    SmtpClient client = new SmtpClient();
    client.Send(msg);
}

}

电子邮件看起来像这样:

Susan Farrar今天下午5:45 Tosusan.farrar@sbcglobal.net

邮件正文

<div id ='emailMsg'style ='margin-left:auto; 右边距:自动; 宽度:600像素; 边距顶部:15像素; 字体家族:Tahoma; font-size:.9em;' >

你好,世界

问题在于string HtmlContent的内容不是格式正确的HTML文档。 您缺少<html><head><title><body>类的标签。 另外, < div的额外空间不正确。

空格导致了此问题。 您应该更改此:

< div id = 'emailMsg' ...

对此:

<div id = 'emailMsg' ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM