c# - 如果使用挪威字母,附件名称解码错误

标签 c# encoding sendmail attachment

我有这段代码可以创建附件并发送电子邮件。如果文件名中包含 æ、ø 或 æ,则该文件名将被完全销毁。

enter image description here

如果我删除挪威字母,一切正常

enter image description here

        var stream = new MemoryStream();
        doc.Save(stream, SaveFormat.Docx);

        mail.From = new MailAddress("no-replay@email.no");
        mail.To.Add("my@email.no");
        mail.IsBodyHtml = true;
        mail.Subject = "Attachments test";
        mail.Body = "Hei,<br /><br />";
        stream.Seek(0, SeekOrigin.Begin);

        var attachment = new Attachment(stream, "Name Å Æ Ø.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        attachment.NameEncoding = Encoding.UTF8;
        mail.Attachments.Add(attachment);
        var smtp = new SmtpClient("smtp.server.com") {Port = 25};
        smtp.Send(mail);

如何使这项工作正常进行?

解决方案

我在这里找到了解决方案http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55

最佳答案

这是微软针对 .net framework 4 的解决方案

http://support.microsoft.com/kb/2402064

关于c# - 如果使用挪威字母,附件名称解码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10434610/

相关文章:

c# - 系统.诊断.进程(); StartInfo.Arguments 使用环境变量作为参数

c# - 使用 MongoDB C# 驱动程序查询派生类型值

javascript - 根据先前的 DropDownList 选择禁用 DropDownList

postgresql - 从 PostgreSQL 导出的编码问题

encoding - VP9 编码限制为 4 个线程?

java - 使用 Java Netbeans 发送电子邮件

c# - 使用 EmptyWorkingSet 有什么副作用?

perl - 在 Windows 上的 Perl 中处理 unicode 目录和文件名

php - 如何使用 pear mail mime

linux - sendmail:致命:不支持 -n 选项