GrapeCity Secure Mail for .NET 4.0J > メールの受信(IMAP) > すべてのメールを取得する(IMAP) |
IMAPサーバーからメールの内容を取得するには、ImapMassageクラスのGetメソッドを使用します。
SelectedMailBoxプロパティで任意のメールボックスを選択した後、SelectedMailboxプロパティ内のImapMessageクラスのリストを配列に格納し、その配列を介して各メールへアクセスします。これは処理中に他のクライアントからメールボックス内のメールが削除される可能性があるためです。
以下のサンプルコードでは、For Each文で各メールにアクセスし、Getメソッドでサーバーからメールの内容を取得した後、ファイルに保存しています。
|
Imports Dart.Mail Imports Dart.Mail.Imap Private Sub getMessagesImap(ByVal state As Object) ' "INBOX"メールボックスを選択します。 Imap1.SelectedMailbox = Imap1.Mailboxes("INBOX") ' メールボックス内のすべてのメールを処理します。 For Each imapMessage As ImapMessage In Imap1.SelectedMailbox.ToArray() ' メールを取得します。 imapMessage.Get() ' 取得したメールをファイルに保存します。 imapMessage.Message.Save("c:\temp\" & (popMessage.Message.Date).ToString("yyyyMMdd_hhmmss") & ".eml") Next imapMessage ' Imapサーバーとの接続を閉じます。 Imap1.Close() End Sub
using Dart.Mail; using Dart.Mail.Imap; private void getMessagesImap(object state) { // "INBOX"メールボックスを選択します。 imap1.SelectedMailbox = imap1.Mailboxes["INBOX"]; // メールボックス内のすべてのメールを処理します。 foreach (ImapMessage imapMessage in imap1.SelectedMailbox) { try { // メールを取得します。 imapMessage.Get(); // 取得したメールをファイルに保存します。 imapMessage.Message.Save(messageFolder + "\\" + (imapMessage.Message.Date).ToString("yyyyMMdd_HHmmss") + ".eml"); } catch (Exception ex) { imap1.Marshal(ex); } } // Imapサーバーとの接続を閉じます。 imap1.Close(); }