Я пытаюсь отправлять электронные письма в формате HTML с прикрепленными именами файлов Excel. Все сработало хорошо, пока мне не потребовалось отправлять сообщения, имя вложения которых содержит буквы с диакритическими знаками :-( Все обходные пути, которые я пробовал, с треском провалились.
Исходный код:
var attachment = new Attachment(
new MemoryStream(excelFileContents),
"simplefilename.xls");
Этот работает нормально. m пытается отправить электронные письма в формате HTML с прикрепленными именами файлов Excel. Все работало хорошо, пока мне не потребовалось отправлять сообщения, имя вложения которых содержит буквы с диакритическими знаками :-( Каждый обходной путь, который я пробовал, с треском провалился.
Исходный код:
var attachment = new Attachment(
new MemoryStream(excelFileContents),
"simplefilename.xls");
Этот работает нормально. m пытается отправить электронные письма в формате HTML с прикрепленными именами файлов Excel. Все работало хорошо, пока мне не потребовалось отправлять сообщения, имя вложения которых содержит буквы с диакритическими знаками :-( Каждый обходной путь, который я пробовал, с треском провалился.
Исходный код:
var attachment = new Attachment(
new MemoryStream(excelFileContents),
"simplefilename.xls");
Этот работает нормально. Однако, если я заменю "simplefilename.xls" на "échec.xls", вложение будет испорчено (имя и содержимое).
Я пробовал их, но безрезультатно:
var attachment = new Attachment(
new MemoryStream(excelFileContents),
new System.Net.Mime.ContentType("application/vnd.ms-excel"));
attachment.Name = "échec.xls";
Последний вариант еще хуже: SmtpClient.Send ()
выдает исключение, жалуясь на é
в имени файла:
var attachment = new Attachment(
new MemoryStream(excelFileContents),
new System.Net.Mime.ContentType("application/vnd.ms-excel"));
attachment.ContentDisposition.FileName = "échec.xls";
Я слишком долго бился головой об этом. Любые источники света тепло приветствуются!