C#.NET
string server = "mail.example.jp";
int port = 110;
string userid = "userid";
string pass = "pass";
System.Net.IPAddress address = System.Net.Dns.GetHostByName(server).AddressList[0];
TKMP.Net.IPopLogon logon = new TKMP.Net.BasicPopLogon(userid , pass);
TKMP.Net.PopClient pop = new TKMP.Net.PopClient(logon , address , port);
if(!pop.Connect())
{
System.Windows.Forms.MessageBox.Show("接続失敗");
return ;
}
int MailNumber = 1;
TKMP.Net.MailData Mail = pop.MailDatas[MailNumber];
if(!Mail.ReadHeader())
{
System.Windows.Forms.MessageBox.Show("データ受信に失敗しました");
}
else
{
System.IO.Stream Header = Mail.HeaderStream;
System.Windows.Forms.MessageBox.Show("ヘッダ情報を受信しました");
TKMP.Reader.MailReader reader = new TKMP.Reader.MailReader(Header , true);
string subject = reader.HeaderCollection["Subject"];
System.Windows.Forms.MessageBox.Show("メールの件名は「" + subject + "」です");
}
pop.Close();
VB.NET
Dim server As String = "mail.example.jp"
Dim port As Integer = 110
Dim userid As String = "userid"
Dim pass As String = "pass"
Dim address As System.Net.IPAddress = System.Net.Dns.GetHostByName(server).AddressList(0)
Dim logon As New TKMP.Net.BasicPopLogon(userid, pass)
Dim pop As New TKMP.Net.PopClient(logon, address, port)
If Not pop.Connect() Then
System.Windows.Forms.MessageBox.Show("接続失敗")
Return
End If
Dim MailNumber As Integer = 1
Dim Mail As TKMP.Net.MailData = pop.MailDatas(MailNumber)
If Not Mail.ReadHeader() Then
System.Windows.Forms.MessageBox.Show("データ受信に失敗しました")
Else
Dim Header As System.IO.Stream = Mail.HeaderStream
System.Windows.Forms.MessageBox.Show("ヘッダ情報を受信しました")
Dim reader As New TKMP.Reader.MailReader(Header, True)
Dim subject As String = reader.HeaderCollection("Subject")
System.Windows.Forms.MessageBox.Show(("メールの件名は「" + subject + "」です"))
End If
pop.Close()
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
ReadBodyメソッドで全文を読み出した場合でもHeaderStreamプロパティからStreamを読み出すことはできません。 これは、TKMP.Net.MailDataクラスはデータの解析を行っていないため、2つの読み出し結果をまったく別のものとして扱っているためです。