Jakeuj's Notes master Help

C# SmtpClient DisplayName 問題

DisplayName 設定 "Test Mail (測試信件)" 但收信時卻顯示 "Test Mail"

問題

MailMessage.From.DisplayName

有小括號 => 會被吃字

  • Test Mail (測試信件) => Test Mail

  • Test Mail (x測x試x信x件x) => Test Mail

沒小括號 => 沒問題

  • Test Mail 測試信件 => Test Mail 測試信件

改用全形括號 => 沒問題

  • Test Mail(測試信件) => Test Mail(測試信件)

有小括號沒中文 => 沒問題

  • Test Mail (xxx) => Test Mail (xxx)

測試

[Fact] public async Task Should_Get_Chinese_From_Mail() { // Arrange const string displayName = "Test (x測x試x)"; var mail = new MailMessage { Subject = "測試小括號中文", Body = "有括號時中文會被消失", From = new MailAddress( "jakeuj@hotmail.com", displayName, Encoding.UTF8) }; mail.To.Add("jakeuj@gmail.com"); //Act using (var smtpClient = new SmtpClient("smtp.gmail.com", 587) { UseDefaultCredentials = false, EnableSsl = true, //這裡要填正確的帳號跟密碼 Credentials = new NetworkCredential("apikey", "apikeyvalue") }) { await smtpClient.SendMailAsync(mail); } //Assert _testOutputHelper.WriteLine(displayName); displayName.ShouldNotBeNull(); }

結論

iis - How to send email locally in .net core without credentials - Stack Overflow

耕作筆記本: [筆記] .Net SmtpClient 發出的信,特定中文寄件人在特定收信軟體上亂碼問題 (jumping-fun.blogspot.com)

參照

用C#寄Gmail信(純後端) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

原來 System.Net.Mail 也會有 Bug ... — 安德魯的部落格 (chicken-house.net)

Jakeuj

PS5

  • SMTP

  • 回首頁

本文章從點部落遷移至 Writerside

14 October 2025