/// <summary> /// 文字コードを取得する /// </summary> /// <param name="mailHeader">メールヘッダ</param> /// <returns>文字コード</returns> public static string ParseEncoding(string mailHeader) { Pop3 pop = new Pop3(); // メールヘッダから文字コード文字列を抜き出す string codeName = pop.GetHeaderField("Content-Type:", mailHeader); codeName = codeName.Replace("\"", ""); string[] arrayName = codeName.Split('='); codeName = arrayName[1]; return(codeName); }
/// <summary> /// 重要度取得 /// </summary> /// <param name="header">ヘッダ</param> /// <returns>重要度(urgent/normal/non-urgent)</returns> public static string Parse(string header) { string _priority = "normal"; string priority = ""; var pop = new Pop3(); // ヘッダにX-Priorityがあるとき if (header.Contains("X-Priority:")) { priority = pop.GetHeaderField("X-Priority:", header); if (priority == "1" || priority == "2") { _priority = Urgent; } else if (priority == "3") { _priority = Normal; } else if (priority == "4" || priority == "5") { _priority = NonUrgent; } } else if (header.Contains("X-MsMail-Priotiry:")) { priority = pop.GetHeaderField("X-MsMail-Priotiry:", header); if (priority.ToLower() == "High") { _priority = Urgent; } else if (priority.ToLower() == "Normal") { _priority = Normal; } else if (priority.ToLower() == "low") { _priority = NonUrgent; } } else if (header.Contains("Importance:")) { priority = pop.GetHeaderField("Importance:", header); if (priority.ToLower() == "high") { _priority = Urgent; } else if (priority.ToLower() == "normal") { _priority = Normal; } else if (priority.ToLower() == "low") { _priority = NonUrgent; } } else if (header.Contains("Priority:")) { priority = pop.GetHeaderField("Priority:", header); // 重要度の文字列の長さが0以上のときは取得した重要度を入れる if (priority.Length > 0) { _priority = priority; } } return(_priority); }