目前,我可以正確地發送一個HTML電子郵件與ASP.net。我注意到,如果您提供了純文本視圖以及HTML視圖,那麼使用垃圾郵件測試程序https://www.mail-tester.com/會給出更好的分數。所以我決定嘗試添加備用視圖。我的問題是,如果我嘗試添加純文本視圖,它似乎覆蓋HTML視圖。下面是設置了我的HTML工作完全正常的代碼只能查看:ASP.net/C#電子郵件與AlternateViews顯示HTML而不是PlainText
message.IsBodyHtml = true;
message.BodyEncoding = Encoding.UTF8;
message.BodyTransferEncoding = TransferEncoding.Base64;
message.Body = "<html lang=\"en\"><head><meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\"></head><body>" + message.Body + "</body></html>";
現在,如果我嘗試添加普通視圖的Gmail似乎只想要顯示的純文本視圖,而不是HTML視圖。無論如何設置哪個視圖是默認的?這裏是我的純文本視圖代碼:
message.IsBodyHtml = true;
message.BodyEncoding = Encoding.UTF8;
message.BodyTransferEncoding = TransferEncoding.Base64;
message.Body = "<html lang=\"en\"><head><meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\"></head><body>" + message.Body + "</body></html>";
//first we create the Plain Text part
var plainView = AlternateView.CreateAlternateViewFromString(HtmlToPlainText(message.Body), Encoding.UTF8, MediaTypeNames.Text.Plain);
////then we create the Html part
var htmlView = AlternateView.CreateAlternateViewFromString(message.Body, Encoding.UTF8, MediaTypeNames.Text.Html);
message.AlternateViews.Add(htmlView);
message.AlternateViews.Add(plainView);
我試圖刪除第一次顯示了機身碼和機身設置爲空字符串,以便它只會增加雙方的交替意見,並沒有奏效。我相信我涵蓋了代碼的所有排列,但仍然沒有任何結果。就像我說的,它只適用於HTML,它適用於html替代視圖,但不能在添加純文本視圖時使用。
謝謝我以爲我先試過。 – Enkode