前回、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();
        }