|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
Здравствуйте. Возникла проблема, решения которой я не могу найти. Как организовать средствами c# отправку письма, к которому будет прикреплен файл с русским названием? Т.е. делаю MailMessage mail = new MailMessage(); mail.From = new MailAddress(from); mail.To.Add(new MailAddress(mailto)); mail.Subject = caption; mail.Body = message; if (attachmentFilename !=null) mail.Attachments.Add(new Attachment(attachmentFilename)); SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = smtpServer; client.Port = 587; client.EnableSsl = true; client.Credentials = new NetworkCredential(from, password); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Send(mail); mail.Dispose(); где attachmentFilename - имя прикрепляемого файла. Если это английское имя - все ок, в противном случае приходит ерунда. Свойство атача NameEncoding пытался изменять на Unicode и т.д. - не помогло. Прощу помощи в решении проблемы! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 18:46 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
Возьми отсюда либо вообще всё, либо только метод CreateAttachment(). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 18:49 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
Joseph_5, .. вот эту заплатку на фреймворк поставить надо ... http://support.microsoft.com/kb/2402064 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 19:38 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
carrotikJoseph_5, .. вот эту заплатку на фреймворк поставить надо ... Меня бы, например, наши админы с таким предложением послали бы очень далеко, поскольку число компьютеров, на которые нужно было бы поставить заплатку, достаточно велико. Я сталкивался с такой штукой. Решение есть здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 12:01 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныcarrotikJoseph_5, .. вот эту заплатку на фреймворк поставить надо ... Меня бы, например, наши админы с таким предложением послали бы очень далеко, поскольку число компьютеров, на которые нужно было бы поставить заплатку, достаточно велико. Я сталкивался с такой штукой. Решение есть здесь . ... я клиента делал для веба, т.е. в asp.net, и мне помогло (заплатка только на сервере ставилась), потому и посоветовал .... Но вопрос, конечно, интересный ... Дело в том, что подобные извращения имели место быть не только с именем аттачмента, но и с темой сообщения (если она длинная и не английская) ... В некоторых почтовых клиентах (напр., в Тандеберде) она отображалась криво ... Но с темой проще, там достаточно было поменять SubjectEncoding на 1251 (или подходящую), и SmtpClient начал кодировать тему не в base64, а в QuotedPrintable - а там хоть по малагасийски пиши ... Почему микрософт не предусмотрел возможность устанавливать транспортную кодировку имени файла и темы явно? - не могу взять в толк .... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 12:11 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
carrotikПочему микрософт не предусмотрел возможность устанавливать транспортную кодировку имени файла и темы явно? - не могу взять в толк .... Ну, типа в 4-м FW они привели имена аттачей в SmtpClient к RFC 2045 (с ограничением в 76 символов на длину имени), а перекодировку сделать забыли. Вроде как знают о том, что это баг, и обещали исправить в следующем релизе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 16:13 |
|
Отправка файла с "русским" именем по почте
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, ... кстати, мне тут пришло в голову, что наиболее безболезненным решением может быть простенька функция по замене рус-лат в имени файла, а потом использовать это имя в свойствах Name и ContentDisposition.FileName - да и пусть получатель видит файл с именем в латинице, ему-то какая разница, как он у отправителя лежит .. Кстати, для файлов с именами на украинском есть свои тонкости ... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 16:24 |
|
|
start [/forum/topic.php?fid=20&msg=38309790&tid=1404445]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 245ms |
0 / 0 |