C# 发送邮件 附件名称为空
2016-07-19 23:12
579 查看
示例代码:
问题说明:使用 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.创建邮件 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
==================================系列文章==========================================
本篇文章:2.3 C# 发送邮件 附件名称为空
C#文章导航
相关文章推荐
- 参数数组和普通数组
- C#写的邮箱发送程序源代码
- c# - 反序列化报错:Input string was not in a correct format
- C# 枚举的使用
- C# 正则表达式的使用
- C#生成二维码名片
- C#生成二维码名片
- C#的 第6节课
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解
- C#值类型和引用类型的深入理解