我試圖從C#/ ASP.NET編寫的Web應用程序發送電子郵件。電子郵件未送達Gmail,Yahoo,Hotmail
我試圖發送電子郵件的HTML和文本版本。 但是,當我嘗試發送到Gmail,Yahoo,Hotmail,AOL等電子郵件地址時,它並未顯示在其收件箱中。
當我發送嚴格的文本,沒有HTML替代視圖,它傳遞得很好。
有沒有人在這裏有過任何經驗?
該電子郵件傳送的精細我們的託管Exchange服務器 「@ mxxx.com」
謝謝!
編輯:還有一件事。當電子郵件未送達時,我們不會收到任何類型的送達失敗通知,它基本上會消失。
代碼:
// email the user
MailMessage message = new MailMessage("[email protected]", user.EmailAddress);
message.Bcc.Add("[email protected]");
message.Bcc.Add("[email protected]");
message.Bcc.Add("[email protected]");
message.Subject = "Your \"mxxx.com\" password has been reset";
message.ReplyToList.Add(new MailAddress("[email protected]"));
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.Delay |
DeliveryNotificationOptions.OnSuccess;
message.Sender = new MailAddress("[email protected]");
string htmlbody = "<html><body><p>Dear " + name + ":</p>" +
"<p>Your password at \"mxxx.com\" has been reset to: " + newPassword + "</p>" +
</body></html>";
var plainTextBody = "test plain text";
AlternateView plainTextView =
AlternateView.CreateAlternateViewFromString(
plainTextBody, message.BodyEncoding, MediaTypeNames.Text.Plain);
plainTextView.TransferEncoding = TransferEncoding.Base64;
message.AlternateViews.Add(plainTextView);
AlternateView htmlview =
AlternateView.CreateAlternateViewFromString(
htmlbody, message.BodyEncoding, MediaTypeNames.Text.Html);
htmlview.TransferEncoding = TransferEncoding.Base64;
message.AlternateViews.Add(htmlview);
SmtpClient mailMan = new SmtpClient();
mailMan.Send(message);
很難肯定地說,但我懷疑這些服務使用的HTML內容,在他們的垃圾郵件過濾器的因素之一 - 垃圾郵件更有效時,有一個HTML鏈接點擊上,所以稍微更有可能使用HTML。把它與任何不是100%完美的東西在你的smtp服務器的rDNS,DKIM或SPF記錄等方面結合起來,你的信息就會陷入黑洞。這就是爲什麼我總是推薦使用信譽良好的電子郵件營銷服務,即使是這樣的日常工作。 – 2014-10-06 16:01:04
@JoelCoehoorn我明白了。我們肯定被送入黑洞,沒有任何電子郵件被拒絕或發送後的任何痕跡。 – bsqrd7 2014-10-06 16:10:27