C# MailMessage 发送邮件带附件时 附件发送收到时无法显示

遗失_记忆 2015-05-19 09:17:51
C# MailMessage 写的邮件发送程序,在添加某些包含中文字符的附件时,收件人处附件显示不出来。但有的附件能显示。附上添加附件的代码,后面的图片是收件人附件的显示,附件打不开。


红叉的那个就是显示不出来的附件,原附件名称为:PN14097专利申请受理通知书20131113.pdf
发送后就显示不出来了,可有的附件也包含中文就可以显示出来,或者把这个附件改成123123.pdf就也能正常显示了。
附上添加附件的代码:
Attachment data;
ContentDisposition disposition;
DirectoryInfo DTInfo = new DirectoryInfo(attachmentsPath);
FileInfo[] files = DTInfo.GetFiles("*.*");
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i];
data = new Attachment(file.FullName, MediaTypeNames.Application.Octet);
disposition = data.ContentDisposition;
data.NameEncoding = Encoding.UTF8;
mMailMessage.Attachments.Add(data);

}
希望大家能帮帮忙,搞了快一天了,也没有找到原因。
...全文
307 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
遗失_记忆 2015-05-19
  • 打赏
  • 举报
回复
引用 4 楼 tcmakebest 的回复:
是不是文件内容有什么异常被邮件服务器屏蔽了, 试试把另一个PDF重命名为 PN14097专利申请受理通知书20131113.pdf 试试
5分钟前刚刚从Msdn上查到,此问题是Framework4.0的一个Bug,附件名称在含有中文且名子过长的情况下,会出现编码错误的Bug,改回到Framework3.5就可以正常显示了。 谢谢回复,等一晚上就你回复了,分结给你了。
tcmakebest 2015-05-19
  • 打赏
  • 举报
回复
是不是文件内容有什么异常被邮件服务器屏蔽了, 试试把另一个PDF重命名为 PN14097专利申请受理通知书20131113.pdf 试试
遗失_记忆 2015-05-19
  • 打赏
  • 举报
回复
难道要没有人回答,就沉了吗
遗失_记忆 2015-05-19
  • 打赏
  • 举报
回复
难道没有人会看到吗?
遗失_记忆 2015-05-19
  • 打赏
  • 举报
回复
有哪位高手来帮帮忙啊,弄一天了还是 这样子。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧