簡體   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