9

添付ファイルを作成してメールを送信するこのコードがあります。ファイルの名前にæ、ø、またはæが含まれている場合、その名前は完全に破棄されます。

ここに画像の説明を入力してください

ノルウェー語の文字を削除すれば、すべて問題ありません

ここに画像の説明を入力してください

        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

4

2 に答える 2

0

に変更attachment.NameEncoding = Encoding.UTF8;してみてくださいattachment.NameEncoding = Encoding.Unicode;

于 2012-05-03T15:34:30.443 に答える