GrapeCity Secure Mail for .NET 4.0J
GetPart メソッド
使用例 

取得するメッセージパート。
メッセージのSeenフラグをtrueに設定しない場合は、trueを指定します。
メッセージの単一のパートを取得します。
シンタックス
Public Function GetPart( _
   ByVal part As Part, _
   ByVal peek As Boolean _
) As Stream
public Stream GetPart( 
   Part part,
   bool peek
)

パラメータ

part
取得するメッセージパート。
peek
メッセージのSeenフラグをtrueに設定しない場合は、trueを指定します。

戻り値の型

partデータを含むStream。
例外
例外解説
ProtocolExceptionサーバーから受信したIMAPプロトコル応答が不良です。
System.Net.Sockets.SocketException通信エラーが発生しました。
解説

このメソッドは、メッセージの単一のパートを取得します。 partは、MailMessage.Contentコレクションに存在する必要があります。 このメソッドを使用して、メッセージ全体を取得せずにメッセージの添付ファイルをダウンロードすることができます。

通常は、このメソッドの前にGet(ImapMessageInfo)を呼び出して、空のPartオブジェクトを含むContentコレクションを持つMailMessageを作成します。 これらのパートの1つをこのメソッドに渡します。

peekは、この操作によってメッセージを既読としてマークするかどうかを示します。peekがtrueの場合、Seenフラグは変更されません。peekがfalseの場合、Seenフラグはtrueに設定されます。

使用例
以下のサンプルコードは、メッセージ全体をダウンロードせずにメッセージの添付ファイルをダウンロードする方法を示します。
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.