jmail4.4pro接收邮件,标题出现乱码
2013-07-03 16:14 yadongh 阅读(239) 评论(0) 收藏 举报
方法如下:
private static string DecodeStr(string str)
{
//可以往这里添加更多的编码,比如GB2312等等
System.Collections.ArrayList encodingList = new System.Collections.ArrayList();
encodingList.Add("ISO-2022-JP");
encodingList.Add("UTF-8");
encodingList.Add("GB2312");
string encodingStr = "";
string result = "";
string[] sArr = null;
if (!string.IsNullOrEmpty(str))
{
for (int i = 0; i < encodingList.Count; i++)
{
if (str.ToUpper().Contains(encodingList[i].ToString()))
{
sArr = str.Split('?');
encodingStr = encodingList[i].ToString();
}
}
}
if (sArr.Length > 0)
{
byte[] b = Convert.FromBase64CharArray(sArr[3].ToCharArray(), 0, sArr[3].ToCharArray().Length);
System.Text.Encoding en = System.Text.Encoding.GetEncoding(encodingStr);
result = en.GetString(b);
}
return result;
}
调用时:
//message即是你获得邮件,类型是jmail.Message
DecodeStr(message.Headers.GetHeader("Subject"))
返回的string即是标题
浙公网安备 33010602011771号