程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 發送郵件 附件名稱為空,

C# 發送郵件 附件名稱為空,

編輯:C#入門知識

C# 發送郵件 附件名稱為空,


 示例代碼

// 1.創建郵件
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add(new MailAddress("[email protected]"));

// 2.設置郵件標題、正文等信息
mailMsg.HeadersEncoding = Encoding.GetEncoding("gb2312");
mailMsg.SubjectEncoding = Encoding.GetEncoding("gb2312");
mailMsg.BodyEncoding = Encoding.GetEncoding("gb2312"); // 郵件內容編碼
mailMsg.Subject = emailTitleStr; // 郵件標題
mailMsg.Body = emailBodyStr;
mailMsg.IsBodyHtml = true; // 郵件內容是否支持html
mailMsg.Priority = MailPriority.High;
// 附件:在 .net 4.0中,附件名稱含有特殊名稱時,接收方將收到名字為空的附件
mailMsg.Attachments.Add(new Attachment("D:\資料(2016).txt"));

// 3.創建SMTP發送
SmtpClient smtp = new SmtpClient(emailSMTP, emailPort);
smtp.Credentials = new NetworkCredential(emailName.Address, emailPwd);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mailMsg);

問題說明:使用 SmtpClient 添加附件時,若附件名稱過長或含有特殊符號,會造成郵件接收方收到的附件名稱為空。

問題原因:.net 4.0的一個Bug。

解決方案:安裝 .net 4.5或以上類庫。

.NET Framework 4.5 下載地址

官網:https://www.microsoft.com/zh-cn/download/details.aspx?id=30653

百度:http://rj.baidu.com/soft/detail/22370.html

 

 

==================================系列文章==========================================

本篇文章:2.3 C# 發送郵件 附件名稱為空

C#文章導航

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved