Я использую 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>