簡體   English   中英

使用C#發送帶有附件的電子郵件時,純文本不顯示

[英]Plain Text not showing when sending an email with an attached file in C#

當我發送帶有附件的html電子郵件時,Thunderbird上的純文本不顯示任何內容,尤其是當附件為docx,pdf或其他文件時。雖然我測試了txt文件,但還可以。

如果我不附加任何文件,它會很好地工作,如果切換視圖設置,Thunderbird會正確顯示HTML文本和純文本。

using(var mail = new MailMessage()){
    // ...omit
    var alternateView = AlternateView.CreateAlternateViewFromString("<h1>TEST</h1>", Encoding, MediaTypeNames.Text.Html);
    alternateView.TransferEncoding = TransferEncoding.SevenBit;
    mail.AlternateViews.Add(alternateView);

    mail.Attachments.Add(new Attachment("path to a file"));
    // ...omit
}

我嘗試了https://stackoverflow.com/a/2828438/366049但沒有運氣。

-編輯-
如Caius Jard所建議,我嘗試了以下操作,結果如下。

  • 將其設置為主體+ HTML作為替代視圖
    它可以工作,但這意味着我必須准備純文本和html文本。 如果我不附加任何文件,Thunderbird將顯示純文本,該純文本來自html文本刪除標簽。 由於輸入文字是由我們的用戶制作的,因此我一直希望這種行為。 否則,我需要從html檢索純文本。
  • 將文本和HTML都設置為替代視圖,沒有主體
    Thunderbird中的“純文本”和“ HTML文本”設置均顯示文本備用視圖。
  • 將文本設置為主體和文本AlternateView,以及具有HTML AlternateView
    即使我切換了視圖設置,Thunderbird也會顯示文本替代視圖。

根據這些實驗,普通的替代視圖優於html替代視圖和主體。

雖然您的問題似乎沒有包含演示如何設置純文本的示例代碼,但是請嘗試

  • 將其設置為主體+ HTML作為替代視圖
  • 將文本和HTML都設置為替代視圖,沒有主體
  • 將文本設置為主體和文本AlternateView,以及具有HTML AlternateView

我想知道其中哪種方法可用於雷鳥。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM