前回、MailBee.NET でメールの送信を行ったので、ついでに受信も行ってみます。
MailBee.NET Objects
http://www.afterlogic.com/products/net-email-components
POP3でメールを受信する場合
static void Main(string[] args)
{
MailBee.Pop3Mail.Pop3.LicenseKey = "ライセンスキー";
MailBee.Pop3Mail.Pop3 pop3 = new MailBee.Pop3Mail.Pop3();
pop3.Connect("POP3サーバーアドレス");
pop3.Login("アカウント", "パスワード");
for (int i = 1, max = pop3.InboxMessageCount; i <= max; i++)
{
MailBee.Mime.MailMessage msg = pop3.DownloadEntireMessage(i);
Console.WriteLine("From: " + msg.From.ToString());
Console.WriteLine("Subject: " + msg.Subject);
Console.WriteLine(msg.BodyPlainText);
Console.WriteLine("---------------------------------");
pop3.DeleteMessage(i);
}
if (pop3.IsConnected)
pop3.Disconnect();
}
GmailなどでIMAPを使用する場合は、こんな感じになります。
static void Main(string[] args)
{
MailBee.ImapMail.Imap.LicenseKey = "ライセンスキー";
MailBee.ImapMail.Imap imap = new MailBee.ImapMail.Imap();
imap.Connect("imap.gmail.com");
imap.Login("アカウント@gmail.com", "パスワード");
imap.SelectFolder("Inbox");
for (int i = 1, max = imap.MessageCount; i <= max; i++)
{
MailBee.Mime.MailMessage msg = imap.DownloadEntireMessage(i, false);
Console.WriteLine("From: " + msg.From.ToString());
Console.WriteLine("Subject: " + msg.Subject);
Console.WriteLine(msg.BodyPlainText);
Console.WriteLine("---------------------------------");
}
if (imap.IsConnected)
imap.Disconnect();
}