Tengo este fragmento de código que crea un archivo adjunto y envía un correo electrónico. Si el nombre del archivo contiene æ, ø o æ, el nombre está totalmente destruido.El nombre del archivo adjunto está decodificado incorrectamente si se usan letras noruegas
Si quito las cartas noruegas, todo está bien
var stream = new MemoryStream();
doc.Save(stream, SaveFormat.Docx);
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
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);
cómo conseguir este trabajo correctamente?
SOLUCIÓN
he encontrado una solución aquí http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55
es '' mail' un MailMessage'? Si es así, ¿podría verificar si todas las propiedades de "codificación", como 'BodyEncoding',' HeadersEncoding' y demás, tienen el mismo valor? –
Todos estos parámetros son UTF8> mail.SubjectEncoding = Encoding.UTF8; mail.BodyEncoding = Encoding.UTF8; mail.HeadersEncoding = Encoding.UTF8; No ayuda. – podeig