示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // 1.创建邮件 MailMessage mailMsg = new MailMessage(); mailMsg.To.Add( new MailAddress( "test@test.com" )); // 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
2013-07-19 CSS 选择器及各样式引用方式