GrapeCity Secure Mail for .NET 4.0J
Get(ImapMessageInfo) メソッド
使用例 

更新するメッセージセクション。
指定したメッセージセクションを取得します。
シンタックス
Public Overloads Sub Get( _
   ByVal sections As ImapMessageInfo _
) 
public void Get( 
   ImapMessageInfo sections
)

パラメータ

sections
更新するメッセージセクション。
例外
例外解説
ProtocolExceptionサーバーから受信したIMAPプロトコル応答が不良です。
System.Net.Sockets.SocketException通信エラーが発生しました。
解説

ImapMessageInfoの組み合わせを使用して、選択したセクションをMessageBase.Messageに格納できます。

たとえば、ImapMessageInfo.Structureを使用して、データを持たないパートをMessageに格納できます。その後でGetPartを使用して、Parts内の任意のPartのデータを取得できます。

使用例
以下のサンプルコードは、メッセージ全体をダウンロードせずにメッセージの添付ファイルをダウンロードする方法を示します。
private void getMessageAttachments(object sender)
{
    // サーバーとアカウントの情報を設定します。
    imap1.Session.RemoteEndPoint = new Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session));
    imap1.Session.Username = myUsername;
    imap1.Session.Password = myPassword;

    // 接続してアカウントにログインします。
    imap1.Connect();
    imap1.Authenticate();

    // 保存する添付ファイルが付いたメッセージを含むメールボックスを選択します。
    imap1.SelectedMailbox = imap1.Mailboxes["INBOX"];

    // BodyStructureを使用して添付ファイルを検出してから、それらの添付ファイルを取得します。
    foreach (ImapMessage imapMessage in imap1.SelectedMailbox.ToArray())
    {
        imapMessage.Get(ImapMessageInfo.Structure);
        foreach (Attachment attachment in imapMessage.Message.Attachments)
        {
            imapMessage.GetPart(attachment, false);
            attachment.Content.MoveTo(Application.StartupPath + "\\attachments\\" + attachment.ContentDisposition.FileName);
        }
    }

    // セッションから適切にログアウトします。
    imap1.Close();
}
Private Sub getMessageAttachments(ByVal sender As Object)
    ' サーバーとアカウントの情報を設定します。
    imap1.Session.RemoteEndPoint = New Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session))
    imap1.Session.Username = myUsername
    imap1.Session.Password = myPassword

    ' 接続してアカウントにログインします。
    imap1.Connect()
    imap1.Authenticate()

    ' 保存する添付ファイルが付いたメッセージを含むメールボックスを選択します。
    imap1.SelectedMailbox = imap1.Mailboxes("INBOX")

    ' BodyStructureを使用して添付ファイルを検出してから、それらの添付ファイルを取得します。
    For Each imapMessage As ImapMessage In imap1.SelectedMailbox.ToArray()
        imapMessage.Get(ImapMessageInfo.Structure)
        For Each attachment As Attachment In imapMessage.Message.Attachments
            imapMessage.GetPart(attachment, False)
            attachment.Content.MoveTo(Application.StartupPath & "\attachments\" & attachment.ContentDisposition.FileName)
        Next attachment
    Next imapMessage

    ' セッションから適切にログアウトします。
    imap1.Close()
End Sub
参照

参照

ImapMessage クラス
ImapMessage メンバ
オーバーロード一覧

 

 


© 2003, GrapeCity inc. All rights reserved.