powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отправка файла с "русским" именем по почте
7 сообщений из 7, страница 1 из 1
Отправка файла с "русским" именем по почте
    #38308653
Joseph_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Возникла проблема, решения которой я не могу найти. Как организовать средствами 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 и т.д. - не помогло.
Прощу помощи в решении проблемы!
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38308656
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьми отсюда либо вообще всё, либо только метод CreateAttachment().
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38308683
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joseph_5,

.. вот эту заплатку на фреймворк поставить надо ...

http://support.microsoft.com/kb/2402064
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38309251
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikJoseph_5,
.. вот эту заплатку на фреймворк поставить надо ...
Меня бы, например, наши админы с таким предложением послали бы очень далеко, поскольку число компьютеров, на которые нужно было бы поставить заплатку, достаточно велико.
Я сталкивался с такой штукой. Решение есть здесь .
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38309277
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныcarrotikJoseph_5,
.. вот эту заплатку на фреймворк поставить надо ...
Меня бы, например, наши админы с таким предложением послали бы очень далеко, поскольку число компьютеров, на которые нужно было бы поставить заплатку, достаточно велико.
Я сталкивался с такой штукой. Решение есть здесь .

... я клиента делал для веба, т.е. в asp.net, и мне помогло (заплатка только на сервере ставилась), потому и посоветовал .... Но вопрос, конечно, интересный ... Дело в том, что подобные извращения имели место быть не только с именем аттачмента, но и с темой сообщения (если она длинная и не английская) ... В некоторых почтовых клиентах (напр., в Тандеберде) она отображалась криво ... Но с темой проще, там достаточно было поменять SubjectEncoding на 1251 (или подходящую), и SmtpClient начал кодировать тему не в base64, а в QuotedPrintable - а там хоть по малагасийски пиши ... Почему микрософт не предусмотрел возможность устанавливать транспортную кодировку имени файла и темы явно? - не могу взять в толк ....
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38309790
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikПочему микрософт не предусмотрел возможность устанавливать транспортную кодировку имени файла и темы явно? - не могу взять в толк ....
Ну, типа в 4-м FW они привели имена аттачей в SmtpClient к RFC 2045 (с ограничением в 76 символов на длину имени), а перекодировку сделать забыли. Вроде как знают о том, что это баг, и обещали исправить в следующем релизе.
...
Рейтинг: 0 / 0
Отправка файла с "русским" именем по почте
    #38309827
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

... кстати, мне тут пришло в голову, что наиболее безболезненным решением может быть простенька функция по замене рус-лат в имени файла, а потом использовать это имя в свойствах Name и ContentDisposition.FileName - да и пусть получатель видит файл с именем в латинице, ему-то какая разница, как он у отправителя лежит .. Кстати, для файлов с именами на украинском есть свои тонкости ...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отправка файла с "русским" именем по почте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]