POP3Clientは日本語に弱いので困る。
受信のサンプル
{
//接続情報
string server = "sample.jp";
int port = 110;
string userid = "user";
string pass = "pass";
//サーバへの接続用クラスを作成する
IPHostEntry hostInfo = System.Net.Dns.GetHostEntry(server);
System.Net.IPAddress address = hostInfo.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 + "」です");
}
if( !Mail.ReadBody() ){
System.Windows.Forms.MessageBox.Show("データ受信に失敗しました");
}else{
System.IO.Stream Body = Mail.DataStream;
TKMP.Reader.MailReader reader = new TKMP.Reader.MailReader(Body, false);
string maintext = reader.MainText;
System.Windows.Forms.MessageBox.Show("メールの件名は「" + maintext + "」です");
}
//切断
pop.Close();
return;
}送信のサンプル
//メールの送信先サーバー名
string smtpserver = "mail.example.jp";
int port = 25;
string userid = "userid";
string pass = "pass";
System.Net.IPAddress address = System.Net.Dns.GetHostByName(smtpserver).AddressList[0];
//ログオンクラスを作成します
TKMP.Net.ISmtpLogon logon ;
//AUTH CRAM-MD5でログオンを行ないます
logon = new TKMP.Net.AuthCramMd5(userid , pass);
//AUTH LOGINでログオンを行ないます
//logon = new TKMP.Net.AuthLogin(userid , pass);
//AUTH PLAINでログオンを行ないます
//logon = new TKMP.Net.AuthPlain(userid , pass);
//CRAM-MD5 PLAIN LOGINの順で利用可能なものを優先してログオンを行ないます
//logon = new TKMP.Net.AuthAuto(userid , pass);
//POP Before SMTPでログオンを行ないます
//使用するにはPOPへの接続情報が必要です
//logon = new TKMP.Net.PopBeforeSMTP(popclient);
//ログオン処理は行ないません
//logon = null;
//SMTPへの接続クラスを作成
TKMP.Net.SmtpClient smtp = new TKMP.Net.SmtpClient(address , port , logon);
//サーバーへ接続
if(!smtp.Connect())
{
System.Windows.Forms.MessageBox.Show("接続失敗");
return ;
}
//-------ここでメール送信を行ないます----------
//サーバーから切断
smtp.Close();