Как предлагает jdweng в своем комментарии, это может быть проблема со шрифтом в принимающем клиенте Outlook (другими словами, шрифт, используемый Outlook, не имеет глифов для ê
, ï
, è
, à
или é
).
Поскольку вы не получаете 2 символа мусора, например ��
(или À�
) на символ, это говорит о том, что MailKit использует кодировка символов, такая как iso-8859-1 (или iso-8859-15?), и что принимающий клиент Outlook также использует однобайтовую кодировку символов для ее декодирования ... иначе MailKit использует UTF-8 и получающий клиент Outlook правильно распознает его как UTF-8 (UTF-8 использует 2 байта на символ акцента в латинских алфавитах), но не может отображать глифы из-за проблемы со шрифтом.
Если вы не установили явно кодировку символов для MailKit для использования в теле сообщения, тогда по умолчанию используется UTF-8 (что предполагает проблему со шрифтом).
Это пример того, как вы можете указать кодировку символов использовать в Mim eKit / MailKit:
var body = new TextPart ("plain");
body.SetText ("Test d'ênvoïe d'èmail avec des àccénts", Encoding.GetEncoding ("iso-8859-1"));
Итак, я предполагаю, что это оставляет нам вопрос о том, как вы создаете сообщение (и, в частности, тело сообщения)?
Если вы можете поделиться необработанный MIME, сгенерированный MimeKit / MailKit, это было бы полезно.
Для этого вы можете использовать метод MimeMessage.WriteTo(string fileName)
, а затем использовать свой любимый текстовый редактор, чтобы открыть файл и скопировать и вставить его содержимое.