Я попытался закодировать их правильно в 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) ;.
Я не знаю, почему это изменится после этого.
Мне нужен кто-то, чтобы помочь мне. Спасибо заранее.