Использование Smtpclient MailKit для отправки, subjectEncoding странно в источнике полученной электронной почты. - PullRequest
0 голосов
/ 06 сентября 2018

Я попытался закодировать их правильно в iso-2022-jp, но единственная тема немного неожиданная. Вот результат.

From: =?iso-2022-jp?B?GyRCJ**************==?= <sender@example.com>
To: =?iso-2022-jp?B?GyRCS****************==?= <receiver@example.com>
Subject: =?iso-2022-jp?b?GyRCQmpMPhsoQjobJEIlRiU5JUgbKEI=?=

Как вы видите выше, строчная буква "b" видна только в теме, даже если я закодировал остальные так же. Я обнаружил, что он автоматически преобразуется в b сразу после метода smtp.Send (msg); b обычно не видят. Мне нужно исправить это на B.

Ниже похоже на то, что я пытался сделать.

using (var smtp = new SmtpClient())
{
    //Connection
    .
    .
    .

    //Set from,to,subject,body...
    .
    .
    msg.Subject = EncodeMailHeader("題名:テスト");

    .
    .

    smtp.Send(msg);

}
// Convert to "=?iso-2022-jp?B?<encodedstring>?="
private static string EncodeMailHeader(string val)
{
    Encoding enc = Encoding.GetEncoding(JIS_Code);
        string strBase64 = Convert.ToBase64String(enc.GetBytes(val));
        return string.Format("=?{0}?B?{1}?=", enc.HeaderName, strBase64);
}

Субъектным свойством "msg" является "=? Iso-2022-jp? B? GyRCQmpMPhsoQjobJEIlRiU5JUgbKEI =? =" В точке отладки smtp.Send (msg) ;. Я не знаю, почему это изменится после этого.

Мне нужен кто-то, чтобы помочь мне. Спасибо заранее.

...