GrapeCity Secure Mail for .NET 4.0J
すべてのメールを取得する(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();
}

 

 


© 2003, GrapeCity inc. All rights reserved.