SmtpClient кодировка в заголовке письма

197
10 декабря 2017, 09:18

Отправляю письмо с сервера, вот таким вот методом:

    /// <summary>
    /// асинхронная отправка почты
    /// </summary>
    /// <param name="to">кому, коллекция получателей</param>
    /// <param name="subject">тема</param>
    /// <param name="body">тело в html формате</param>
    /// <returns></returns>
    /// <exception cref="SmtpException">различные варианты ответов на ошибки, сервером</exception>
    public async Task SendMessageAsync(IEnumerable<String> to, String subject, String body)
    {
        using (SmtpClient smtp_client = new SmtpClient(host: this.smtp_server, port: this.smtp_port))
        {
            smtp_client.Credentials = new NetworkCredential(userName: this.login, password: this.password);
            smtp_client.EnableSsl = this.enable_ssl;
            using (MailMessage message = new MailMessage())
            {
                if (this.is_spam)
                {
                    message.Headers.Add(name: "Precedence", value: "bulk");
                    message.Headers.Add(name: "List-Unsubscribe", value: this.unsubscribe_link);
                }
                message.From = new MailAddress(address: this.login, displayName: this.from_name, displayNameEncoding: Encoding.UTF8);
                foreach (String addr in to)
                {
                    message.To.Add(item: new MailAddress(address: addr));
                }
                message.SubjectEncoding = Encoding.UTF8;
                message.Subject = subject;
                message.IsBodyHtml = true;
                message.BodyEncoding = Encoding.UTF8;
                message.Body = body;
                await smtp_client.SendMailAsync(message: message).ConfigureAwait(continueOnCapturedContext: false);
            }
        }
    }

Метод работает нормально, и как видно message.SubjectEncoding = Encoding.UTF8; Но в итоге я получаю вот такую частичную абракадабру в заголовке (в теле всё нормально):

Любой 19-й символ в заголовке отображается вот так.

READ ALSO
Как правильно файлы поместить в List&lt;byte[]&gt;?

Как правильно файлы поместить в List<byte[]>?

Получаю список нужных файлов по расширению

212
Не работают стили в браузере в c#

Не работают стили в браузере в c#

Добрейший вечерочекНеобходимо отобразить html страницу со стилями в браузере в Windows Forms (vs 2017)

253
Обновить dataGridView на Form1 при закрытии Form2

Обновить dataGridView на Form1 при закрытии Form2

Нужно чтобы после закрытия формы dataGridView на главной форме обновляла данные, помогите пожалуйста

224
Не удается подключить system.web.optimization

Не удается подключить system.web.optimization

Как это можно понять??

179