簡體   English   中英

如何使用 AlternateView 發送純文本電子郵件並保留換行符

[英]How to send plain text emails using AlternateView and retain line breaks

我正在使用 AlternateView 發送純文本電子郵件。 我使用的代碼類似於:

var msg = new MailMessage();
var body = $"Test sending\nA newline character\nIn a plaintext email";

msg.From = new MailAddress(fromAddr);
msg.To = new MailAddress(toAddr);
msg.Subject = "Test";
msg.IsBodyHtml = false;

AlternateView textView;
textView = AlternateView.CreateAlternateViewFromString(body, Text.Encoding.UTF8, Net.Mime.MediaTypeNames.Text.Plain);

AlternateView htmlView;
htmlView = AlternateView.CreateAlternateViewFromString(body, Text.Encoding.UTF8, Net.Mime.MediaTypeNames.Text.Html);

msg.AlternateViews.Add(textView);
msg.AlternateViews.Add(htmlView);

var client = new SmtpClient(smtpServer);
client.Send(msg);

但是,當我收到 email 時,它是這樣的:

測試在明文中發送換行符 email

當我查看發送的原始消息時,我可以看到換行符在那里,所以 email 客戶端只是不顯示它們。

如果我設置 msg.Body 並且不使用 AlternateView,則換行符會按預期出現。

為了讓作為純文本發送的 AlternateView 正確顯示換行符,我需要做什么?

電子郵件的內容可以是 html 或純文本,因此請嘗試使用“<br>”或“\r\n” 這里是一個示例

暫無
暫無

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

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