我試圖使用下面的代碼通過System.Net.Mail
發送郵件,並且有時獲取主題如'=?utf- 8?B?W3AxM25dIEZpbGV ...'(修剪)。這是所謂的代碼:System.Net.Mail和=?utf-8?B?XXXXX ....頭文件
MailMessage message = new MailMessage()
{
From = new MailAddress("[email protected]", "Service"),
BodyEncoding = Encoding.UTF8,
Body = body,
IsBodyHtml = true,
ReplyTo = new MailAddress("[email protected]"),
SubjectEncoding = Encoding.UTF8
};
foreach (string emailAddress in addresses)
{
message.To.Add(new MailAddress(emailAddress.Trim(), "Person"));
}
message.Subject = subject;
我想強調,這不會發生在所有的時間。
我在做什麼錯?
這是原始郵件的樣子,但是當你在電子郵件客戶端中得到它時,這是錯誤的。我最近發現.NET中存在一個錯誤,這使得使用UTF-8編碼進行編碼的主體格式不正確。我已經將這個bug提交給了微軟。在研究期間,我發現一些電子郵件客戶端顯示原始Base64字符串,如果它格式不正確。不幸的是,沒有解決方法。 Dotnet不允許手動編碼主題,如果你這樣做,它會重新編碼它引入新的錯誤。 – Harry 2013-02-18 08:38:02
@Harry:我想我們只是絆倒了同樣的問題 - 你有鏈接到連接錯誤和/或解決方法嗎? – 2015-02-07 19:12:20