摘要:[ASP.NET] C# 寄信程式 - 多行內容斷行方式
當系統有送信的需求的時候,我都會用「[ASP.NET] 寄信程式 C#」來完成送信,但今天自己塞信件內容跟串系統的變數,結果發現使用原方法信件內容並沒辦法達到斷行的效果,於是做了底下一點小改變。
原本宣告 body 內容要以 HTML 方式來傳送「xmail.IsBodyHtml = true;」,並定義了「xmail.Body = Server.HtmlEncode(xMessage);」
--- 但不能滿足需求 ---
在呼叫此送信程式前,信件的內容以 "文字"+ $變數 +"文字 <br>" 來做格式化 ,期望使用者收到信的時候,能呈現我想要他斷行的效果。
--- 結果是不行的 ---
於是改寫了一些片段
由
xmail.Body = Server.HtmlEncode(xMessage);
xmail.IsBodyHtml = true; // 設定Email 內容為HTML格式
xmail.BodyEncoding = System.Text.Encoding.UTF8;
----變更為-------------------------------------------
xmail.BodyEncoding = System.Text.Encoding.UTF8;
xmail.IsBodyHtml = true;
var message = new System.Net.Mail.MailMessage();
message.Body = xMessage; //多過這一段是為了讓內容可以接受 <br> 斷行,最後訊息會以 UTF-8 將整段內容編碼,並且信件仍會維持基本文字格式,而非HTML的格式,故文字型的收信程式,也能正確讀取。
xmail.Body = message.Body; //Email 內容
其他部分則無須修改~~
~End