�w�b�_�́AHeader�Őݒ肵�Ă����܂��B GetMail�Ŏ�M��������ɌĂяo�����ꍇ�A ��M�������[���̃w�b�_��g�p���܂��B
�擾�����t�B�[���h��e��Field�Ŏ擾�ł��܂��B
�w��̃��[���ԍ�(�ϐ�:no)�� X-Mailer �w�b�_�t�B�[���h��擾����B using(nMail.Pop3 pop = new nMail.Pop3("mail.example.com")) { try { pop.Connect(); pop.Authenticate("pop3_id", "password"); pop.GetMail(no); MessageBox.Show("X-Mailer:" + pop.GetHeaderField("X-Mailer:")); } catch(nMail.nMailException nex) { MessageBox.Show(String.Format("�G���[ �ԍ�:{0:d} ���b�Z�[�W:{1:s}", nex.ErrorCode, nex.Message)); } catch(Exception e) { MessageBox.Show(String.Format("�G���[ ���b�Z�[�W:{0:s}", ex.Message)); } } ' VB.NET 2005 �ȍ~�̏ꍇ�AC# �Ɠ��l�� using ���g�p�ł��܂��B Dim pop As nMail.Pop3 = New nMail.Pop3("mail.example.com") Try pop.Connect() pop.Authenticate("pop3_id", "password") pop.GetMail(no) MessageBox.Show("X-Mailer:" + pop.GetHeaderField("X-Mailer:")) Catch nex As nMail.nMailException MessageBox.Show(String.Format("�G���[ �ԍ�:{0:d} ���b�Z�[�W:{1:s}", nex.ErrorCode, nex.Message)) Catch ex As Exception MessageBox.Show(String.Format("�G���[ ���b�Z�[�W:{0:s}", ex.Message)) Finally pop.Dispose() End Try
using(nMail.Pop3 pop = new nMail.Pop3("mail.example.com")) { try { pop.Connect(); pop.Authenticate("pop3_id", "password"); pop.GetMail(no); MessageBox.Show("X-Mailer:" + pop.GetHeaderField("X-Mailer:")); } catch(nMail.nMailException nex) { MessageBox.Show(String.Format("�G���[ �ԍ�:{0:d} ���b�Z�[�W:{1:s}", nex.ErrorCode, nex.Message)); } catch(Exception e) { MessageBox.Show(String.Format("�G���[ ���b�Z�[�W:{0:s}", ex.Message)); } }
' VB.NET 2005 �ȍ~�̏ꍇ�AC# �Ɠ��l�� using ���g�p�ł��܂��B Dim pop As nMail.Pop3 = New nMail.Pop3("mail.example.com") Try pop.Connect() pop.Authenticate("pop3_id", "password") pop.GetMail(no) MessageBox.Show("X-Mailer:" + pop.GetHeaderField("X-Mailer:")) Catch nex As nMail.nMailException MessageBox.Show(String.Format("�G���[ �ԍ�:{0:d} ���b�Z�[�W:{1:s}", nex.ErrorCode, nex.Message)) Catch ex As Exception MessageBox.Show(String.Format("�G���[ ���b�Z�[�W:{0:s}", ex.Message)) Finally pop.Dispose() End Try
public string GetHeaderField(string field_name) { _field_name = field_name; SetHeaderSize(); _field = new StringBuilder(_header_size); _err = Pop3GetHeaderField(_field, _header.ToString(), _field_name, _header_size); if(_err < 0) { throw new nMailException("GetHeaderField", _err); } return _field.ToString(); }
/// <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; }