如何设置邮件标题的编码格式呢?
            mailMsg.SubjectEncoding = System.Text.Encoding.Unicode;          mailMsg.Subject = “ABCDE”我使用以上的设置之后 邮件标题发送后只有A,这是什么原因呢?

解决方案 »

  1.   

    使用 MIME base64 对数据进行编码
    标题字符串前加编码类型例如: =?UTF-8?B?
    标题字符串后加:?= string subject = "ABCDE";
    mailMsg.Subject = "=?UTF-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes("subject")) + "?="
      

  2.   

    subject两端多了两个引号,纠正为:string subject = "ABCDE";
    mailMsg.Subject = "=?UTF-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(subject)) + "?="
      

  3.   

    还是不行  mailMsg.SubjectEncoding = System.Text.Encoding.Unicode; 
    设置成System.Text.Encoding.Unicode结果还是第一个byte。
      

  4.   


    mailMsg.BodyEncoding = Encoding.GetEncoding("iso-2022-jp");  // 这是日文 ,你可以写utf-8mailMsg.Subject = Base64Encode(”subject“, Encoding.GetEncoding("iso-2022-jp"));
     private static string Base64Encode(string str, Encoding enc)
            {
                string base64str = Convert.ToBase64String(enc.GetBytes(str));
                return string.Format("=?{0}?B?{1}?=", enc.BodyName, base64str);
            }