Asp.Net Core MailKit 完美附件(中文名、长文件名)

  • 时间:
  • 浏览:0

许多你这一回答者给出了四种 防止方案,我使用了第四种 如下:

最近在使用MailKit组件发送邮件,看过许多博客确实 还是蛮简单的,许多发送附件的之前 却产生了不小的什么的问题,附件的中文名字是乱码的,机会附件的名字过长就会无效,附件的名字在QQ邮箱中会变成类似于 tcmime.1046.1479.1696.bin 那我问文件名而在163邮箱中则机会变成类似于

ATT00002.docx 的名称。机会你也遇到了那我的什么的问题,都没有帮我你一定很期待接下来的防止法律土办法。

防止附件名字中文乱码主要依靠最后三行代码,将name和filename的字符集指定为GB13030即可。

By the way , 我还遇到了那我什么的问题就说 附件在发送之前 附件使用的文件流都没有被释放掉,我确实 这是个bug应该会在之前 更正,不过现在愿意在添加附件是将文件流的引用埋点起来,等到邮件发送之前 释放掉:

第二种愿意点issue查看,完整篇 的代码看最后

导致 是字符编码的什么的问题

为哪此会不超过4那我字符呢?

引用github上MailKit的issue

大意是 你使用的mail client 不支持 rfc2231 编码,最有机会的是,它期望的文件名参数编码使用rfc2047编码(理论上从来都没有人使用rfc2047编码参数值...,许多,哎... 许多邮件客户端就说 sucks)