SMTP-сервер Office365 заменяет международные символы в теме - PullRequest
1 голос
/ 06 февраля 2020

Я использую SMTP-сервер Office365 для отправки почты, и он уже давно работает безупречно. Однако вчера в сообщениях, которые мы отправляем, возникла проблема.

Международные символы, такие как æøåöü, заменяются в теме тем, что не имеет для меня особого смысла.

æ -> C &

ø -> C8

å -> C%

Я пытался изменить формат доставки с Международный на SevenBit , и это работает, что странно, но это только оставляет меня с другой проблемой, которая заключается в том, что электронные письма «на» не могут содержать международные символы.

Я склонен думать, что проблема не в коде сам, но вместо этого SMTP-сервер.

Это упрощенная версия моего кода, с которой мне удалось воспроизвести проблему:

        static void Main(string[] args)
        {
            var client = new SmtpClient();
            var mailAddress = new MailAddress("abc@domain.com");

            var msg = new MailMessage
            {
                From = mailAddress,
                To = { "receiving-mail@domain.com" },
                ReplyToList = { new MailAddress("receiving-mail@domain.com", "Testing") },
                Subject = "This is a test with Ææ Øø Åå",
                Body = "Test",
                IsBodyHtml = true,
            };

            client.Send(msg);

            Console.WriteLine("sent");
            Console.ReadKey();
        }

И это параметры конфигурации в Интернете. Файл конфигурации

    <mailSettings>
      <smtp deliveryMethod="Network" deliveryFormat="International">
        <network defaultCredentials="false" enableSsl="true" host="smtp.office365.com" port="587" password="censoredforstackoverflow" userName="censoredforstackoverflow" />
      </smtp>
    </mailSettings>
...