Отправка электронного письма на Outlook с персонажами смайликов с использованием C # - PullRequest
1 голос
/ 02 июля 2019

У меня есть пользовательский ввод на веб-странице. Они могут напечатать сообщение и отправить.

Сообщение отправляется им по SMTP, и клиент, которым они будут пользоваться, является outlook.

Проблема, с которой я сталкиваюсь, заключается в том, что эмодзи [??‍??‍♂️?] проходят через разное количество ?? вопросительные знаки.

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

Я знаю, что Outlook поддерживает Emoji, так как я могу набрать их с помощью Windows + ; и отправить их в порядке. Но это как-то искажается, когда я отправляю его через SMTP-клиента.

Отладка правильно показывает смайлики перед отправкой через SMTP-клиент.

Любые идеи, что мне нужно сделать, чтобы заставить его отправлять, не прибегая к раздеванию этих персонажей? Я хотел бы, чтобы люди могли использовать эти смайлики, если им нравится.

1 Ответ

1 голос
/ 02 июля 2019

Спасибо @Steve за то, что заставили меня пересмотреть очевидное ?

Оказалось, все, что мне нужно было сделать, это установить BodyEncoding в System.Text.Encoding.UTF8 в сообщении.Установка свойства IsBodyHtml на true была недостаточной.

Не уверен, что по умолчанию это не работает, не устанавливая его в UTF8, ну да ладно.

mail.BodyEncoding = System.Text.Encoding.UTF8;

https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage.bodyencoding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...