Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кодировка Subject в MailMessage / 25 сообщений из 38, страница 1 из 2
18.09.2019, 16:15
    #39863413
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Коллеги!

Столкнулся с проблемой кодировки Subject (Тема письма) при использовании MailMessage

1. случай: кириллический заголовок в коде работает нормально

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
            using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress(_appSettings.Value.Email);
                mail.To.Add(_appSettings.Value.Recipients);
                mail.Body = "......";
                mail.SubjectEncoding = Encoding.UTF8;
                mail.Subject = "Если писать заголовок прямо в коде, то кодировка Subject  в письме читаемая"; 
                mail.IsBodyHtml = false;

                try
                {
                    await client.SendMailAsync(mail);
                }
                catch (Exception ex)
                {
                    error = ..............
                }
            }



2. тот же самый код не работает (каракули в Теме) , если Subject перенести в appsettings.json, как и остальные параметры

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
            using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress(_appSettings.Value.Email);
                mail.To.Add(_appSettings.Value.Recipients);
                mail.Body = "......";
                mail.SubjectEncoding = Encoding.UTF8;
                //!!!! я пробовал разные варианты кодировок - везде каракули
                mail.Subject = Encoding.UTF8.GetString(Encoding.Default.GetBytes(_appSettings.Value.Subject));  
                mail.IsBodyHtml = false;

                try
                {
                    await client.SendMailAsync(mail);
                }
                catch (Exception ex)
                {
                    error = ............
                }
            }



Где порылась собака?
...
Рейтинг: 0 / 0
18.09.2019, 16:43
    #39863434
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
RegisteredUser Где порылась собака?

В кодировке appsettings.json

До сих пор не знаем, что всё надо держать в UTF-8
...
Рейтинг: 0 / 0
18.09.2019, 18:08
    #39863496
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVostt,
а как узнать кодировку appsettings.json?
...
Рейтинг: 0 / 0
18.09.2019, 18:34
    #39863516
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
открыть в блокноте и нажать "сохранить как"
...
Рейтинг: 0 / 0
18.09.2019, 22:08
    #39863611
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
RegisteredUser,

CDO.Message + .AddAttachment(attach) юникодные имена файлов не поддерживаются?

В CDO.Message с кодировками большая Ж. чеб тут не писали умными фразами про Юникод.
Под спойлером код который я использую годами. Он более менее решает эти "проблемы", но при этом таки As IS, т.е. при каких-то комбинациях условий может и не сработать. Но это лучшее что удалось родить.
...
Рейтинг: 0 / 0
19.09.2019, 09:12
    #39863699
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Shocker.Proоткрыть в блокноте и нажать "сохранить как"

Блин!
реально именно этот файл был в ANSI
пересохранил в UTF-8 и все заработало.
...
Рейтинг: 0 / 0
19.09.2019, 10:09
    #39863749
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Дмитрий77В CDO.Message с кодировками большая Ж. чеб тут не писали умными фразами про Юникод.

Вы проблему вообще не поняли.
...
Рейтинг: 0 / 0
19.09.2019, 15:34
    #39864040
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVostt,

Ну понял не понял, но в приведенном под ссылкой и спойлером коде есть некий (выстраданный когда-то) комментарий и фрагмент кода касательно UTF-8 в Subject.

И свою проблему с UTF-8 в Attachment FileName я также не решил, см. ссылку. Забил.
И врядли Вы подскажете как это сделать, потому как скорее всего никак. Во времена Windows 2000 когда эта модель создавалась, "всё надо держать в UTF-8" это было примерно как "баран на новые ворота", и тема кодировок в CDO.Message для Windows 2000 до конца не раскрыта, на иероглифы напороться достаточно легко.

Для сравнения в System.Net.Mail проблемы кодировок отсутствуют, но при этом System.Net.Mail обкоцканная и в ней много чего сделать нельзя, котя кое-что таки есть, например в ней есть Explicit SSL (STARTTLS) - то что обычно порт 587. В CDO.Message напротив есть Implicit SSL - то что обычно порт 465. Но в CDO.Message, есть много чего еще, например можно цеплять к мылу сертификаты и плюс там очень хорошая модель для обработки входящего мыла (уже полученного в виде .eml) -т.е. разбор письма: вложение, текст, subject. Там еще много еще чего есть на тему html body и т.д.
...
Рейтинг: 0 / 0
19.09.2019, 17:19
    #39864106
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Дмитрий77понял не понял, но в приведенном под ссылкой и спойлером коде есть некий (выстраданный когда-то) комментарий и фрагмент кода касательно UTF-8 в Subject.

Но речь-то не касательно UTF-8 в Subject, а кодировке конфигурационного файла, они ещё до отправки письма корявые считываются.

Ну а проблемы времён Windows 2000, учитывая что почти 20 лет прошло, обсуждать как-то неинтересно :)


Дмитрий77Но в CDO.Message, есть много чего еще, например можно цеплять к мылу сертификаты и плюс там очень хорошая модель для обработки входящего мыла (уже полученного в виде .eml) -т.е. разбор письма: вложение, текст, subject. Там еще много еще чего есть на тему html body и т.д.

Отправка писем должна быть максимально надёжным решением. Без всяких расширений, сертификатов и огромной кучи барахла, что там напридумывали и толком не взлетело без специфичного ПО.

Поэтому чем проще -- тем лучше :)
...
Рейтинг: 0 / 0
19.09.2019, 19:47
    #39864198
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVosttНу а проблемы времён Windows 2000, учитывая что почти 20 лет прошло, обсуждать как-то неинтересно :)

Поэтому чем проще -- тем лучше :)

Чет я смотрю например Modern GUI а-ля Win10/Win8 не шибко тут обсуждают. Не в данной ветке даже а на форуме в целом. Я б даже сказал от слова "совсем". Красивые картинки и большие буквы. Причем начинка все та же, но обкоцканная ибо на мелкий шрифт и "прочий функционал" типа на экране места уже не хватило.
...
Рейтинг: 0 / 0
19.09.2019, 21:48
    #39864241
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Дмитрий77Чет я смотрю например Modern GUI а-ля Win10/Win8 не шибко тут обсуждают. Не в данной ветке даже а на форуме в целом. Я б даже сказал от слова "совсем". Красивые картинки и большие буквы. Причем начинка все та же, но обкоцканная ибо на мелкий шрифт и "прочий функционал" типа на экране места уже не хватило.

Просто десктопы вообще нафиг уже никому не нужны :)

Даже в крупных корпорациях порой можно среди десктопов можно найти только какого-нибудь динозавра типа лотуса, и то его выпиливают. Остальное всё в веб.
...
Рейтинг: 0 / 0
20.09.2019, 07:33
    #39864347
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVosttПросто десктопы вообще нафиг уже никому не нужны :)
Какой смачный плюх на вентилятор.
...
Рейтинг: 0 / 0
20.09.2019, 21:54
    #39864869
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Сон Веры ПавловныhVosttПросто десктопы вообще нафиг уже никому не нужны :)
Какой смачный плюх на вентилятор.

но это правда.
нафига они упёрлись?
если это не CAD какой-нибудь или сложный редактор

по сути, весь десктоп держится исключительно на старпёрах, которые ничего кроме этого не умеют, и не собираются переучиваться. из жалости им дают какие-то задачи ))
...
Рейтинг: 0 / 0
20.09.2019, 22:09
    #39864874
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVostt,

а что такое десктоп?
...
Рейтинг: 0 / 0
20.09.2019, 23:09
    #39864899
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
LR, верхний стол :)
...
Рейтинг: 0 / 0
20.09.2019, 23:15
    #39864907
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
LRhVostt,

а что такое десктоп?

тонко
...
Рейтинг: 0 / 0
20.09.2019, 23:15
    #39864908
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Roman MejtesLR, верхний стол :)
Считаете, старперы не работают подстолом? Обижаете:)
...
Рейтинг: 0 / 0
22.09.2019, 08:28
    #39865157
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVosttно это правда.
нафига они упёрлись?
если это не CAD какой-нибудь или сложный редактор

по сути, весь десктоп держится исключительно на старпёрах, которые ничего кроме этого не умеют, и не собираются переучиваться. из жалости им дают какие-то задачи ))
Примерно то же самое я слышал году этак в 2000-м - 2005-м.
...
Рейтинг: 0 / 0
23.09.2019, 00:24
    #39865349
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
Сон Веры ПавловныhVosttно это правда.
нафига они упёрлись?
если это не CAD какой-нибудь или сложный редактор

по сути, весь десктоп держится исключительно на старпёрах, которые ничего кроме этого не умеют, и не собираются переучиваться. из жалости им дают какие-то задачи ))
Примерно то же самое я слышал году этак в 2000-м - 2005-м.

Я хз кто там что и где слышал.
Есть железные факты, десктоп разработка нафиг не упёрлась никому, за исключением очень узкой ниши, которой я обозначил. Решения на веб дешевле по всем параметрам и запускать их можно быстрее, а это решает абсолютно всё.
...
Рейтинг: 0 / 0
23.09.2019, 01:39
    #39865357
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVosttРешения на веб дешевле по всем параметрам и запускать их можно быстрее, а это решает абсолютно всё.
Как минимум, понадобится веб-сервер, чем это "дешевле" (если можно решить задачу в локальной системе)? WCF отлично решает вопрос взаимодействия между удаленными компами, если нужно. Ну, а "быстрее" лишь кошки могут рожать (все равно, основное время и нервы съедает постановка задачи и утряска ТЗ с заказчиком)
...
Рейтинг: 0 / 0
23.09.2019, 02:35
    #39865360
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
LRКак минимум, понадобится веб-сервер, чем это "дешевле" (если можно решить задачу в локальной системе)? WCF отлично решает вопрос взаимодействия между удаленными компами, если нужно. Ну, а "быстрее" лишь кошки могут рожать (все равно, основное время и нервы съедает постановка задачи и утряска ТЗ с заказчиком)

Ох, ну начинаются сказочные небылицы про "постановку задач" от свидетелей утряски ТЗ с заказчиком.

Не интересно. Особенно про WCF в контексте "сервер не нужен".
...
Рейтинг: 0 / 0
23.09.2019, 08:53
    #39865389
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVostt,

Не надо передергивать. Не нужен веб-сервер. Не нужен и веб-клиент, браузер, на ровном месте отжирающий немало оперативки. Не нужны танцы с бубном, если понадобится использовать аппаратные ресурсы (например, дотянуться до криптотокена или произвести скалярные вычисления на видеокарточке).

Ну а басня о том что "Решения на веб дешевле по всем параметрам и запускать их можно быстрее, а это решает абсолютно всё" не нова, и не удивлюсь, если через некоторое время на этом форуме кто-нибудь ляпнет "решения на веб там где нужен десктоп втюхиваются старпёрами, которые ничего кроме этого не умеют, и не собираются переучиваться"))
...
Рейтинг: 0 / 0
23.09.2019, 12:55
    #39865564
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
LRНе надо передергивать. Не нужен веб-сервер. Не нужен и веб-клиент, браузер, на ровном месте отжирающий немало оперативки. Не нужны танцы с бубном, если понадобится использовать аппаратные ресурсы (например, дотянуться до криптотокена или произвести скалярные вычисления на видеокарточке).

Вы о каком классе приложений говорите? Калькулятор? Винамп? Пасьянс? Чего вы городите?




LRНу а басня о том

Вот то-то и оно, что у вас басни, у меня факты. Кроме того, вы пока и аргументировать свою позицию не можете. Какая ещё оперативка, какие танцы с бубном? Вы о чём вообще? Из каких пещер вышли? :)
...
Рейтинг: 0 / 0
23.09.2019, 13:58
    #39865625
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
hVosttВот то-то и оно, что у вас басни, у меня факты.
То-то и оно, что фактов никаких от вас нет, одни лишь басни. Надоело их слушать.
...
Рейтинг: 0 / 0
23.09.2019, 14:38
    #39865677
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка Subject в MailMessage
LRhVosttВот то-то и оно, что у вас басни, у меня факты.
То-то и оно, что фактов никаких от вас нет, одни лишь басни. Надоело их слушать.
Непреложный факт пока что во всей этой дискуссии один:
Сон Веры ПавловныКакой смачный плюх на вентилятор.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кодировка Subject в MailMessage / 25 сообщений из 38, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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