我试图将它们正确编码为 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”仅在主题中可见,即使我以相同的方式对其他内容进行了编码。我发现它在方法 smtp.Send(msg); 之后自动转换为 b 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); 时。我不知道为什么它会在这之后改变。
我需要有人帮助我。在此先感谢。