[英]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.