GrapeCity Secure Mail for .NET 4.0J
Pop クラス
メンバ  使用例 

ポストオフィスプロトコルバージョン3(POP3)の機能を.NETアプリケーションに組み込み、アプリケーションがインターネットメールを簡単にダウンロードできるようにします。
オブジェクト モデル
Pop クラスTcpBase クラスPopMessageCollection クラスPopMessage クラスMailSession クラス
シンタックス
<ToolboxItemAttribute(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>
<LicenseProviderAttribute(1.3)>
Public Class Pop 
   Inherits MailBase
[ToolboxItem(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[LicenseProvider(1.3)]
public class Pop : MailBase 
解説

柔軟なPOPメッセージのサポートを使用して、メッセージを簡単に取得できます。複数の認証方法、ユーザー指定Streamへのダウンロード、プロキシのサポート、コマンドの送信などの機能があります。

Popコンポーネントの使用

一般的な使用例の概要を以下に示します。C#およびVBのサンプルコードについては、「コード例」のトピックを参照してください。

簡単なセッション管理: Authenticateは、サーバーに接続して認証を行い、メールドロップに存在するメッセージに関する情報をMessagesに格納します。セッションはCloseを使用して明示的に閉じる必要があります。

メッセージの取得: メッセージを取得するには、Pop.Messages[n].Get()を使用します。メッセージはMailMessage.GetEncodingStream()オブジェクト(自動的にデコードする場合)またはその他の任意のユーザー指定Stream(エンコードされたメッセージを保存する場合)に取得できます。

"オンザフライ"デコード: パートはオンザフライでデコードされ、メモリまたはディスク(添付ファイルの場合)にストリームされます。これにより、メモリフットプリントが最小限に抑えられます。

進行状況の表示: Progressイベントにより、ダウンロード中に受信されたバイト数がリアルタイムに通知されます。

POPプロトコル通信の表示: Pop.Connection.Logイベントにより、TCP接続を通じて送信されたすべてのコマンドとデータにアクセスできます。

コントロール接続: Connectionによって公開されたTCP接続により、低レベルのプロパティやメソッドにアクセスできます。たとえば、これを使用してローカルIPアドレスやリモートIPアドレスなどのTCPレベルのプロパティを表示できます。

コマンドの送信: Connection.Write()とConnection.Read()を使用して、任意のコマンド(独自のコマンドを含む)を送受信できます。

使用例
以下のサンプルコードでは、Popコンポーネントによってメッセージを取得した後、ディスクに保存します。
private void getMessages(object sender)
{
    // 接続してアカウントにログインします。
    pop1.Connect();
    pop1.Authenticate(true, true);

    // アカウントのすべてのメッセージをダウンロードし、一意のファイル名でディスクに保存します。
    string messageFolder = Application.StartupPath + "\\messages";
    foreach (PopMessage popMessage in pop1.Messages)
    {
        popMessage.Get();
        popMessage.Message.Save(messageFolder + "\\" + popMessage.Id.ToString("D4") + ".eml");
    }

    // セッションから適切にログアウトします。
    pop1.Close();
}

private void pop1_Progress(object sender, PopProgressEventArgs e)
{
    // メッセージの受信状況に従ってプログレスバーを更新します。
    progressBar1.Value = (e.Final) ? 0 : (int)((e.Position * 100) / e.Length);
}
Private Sub getMessages(ByVal sender As Object)
    ' 接続してアカウントにログインします。
    pop1.Connect()
    pop1.Authenticate(True, True)

    ' アカウントのすべてのメッセージをダウンロードし、一意のファイル名でディスクに保存します。
    Dim messageFolder As String = Application.StartupPath & "\messages"
    For Each popMessage As PopMessage In pop1.Messages
        popMessage.Get()
        popMessage.Message.Save(messageFolder & "\" & popMessage.Id.ToString("D4") & ".eml")
    Next popMessage

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

Private Sub pop1_Progress(ByVal sender As Object, ByVal e As PopProgressEventArgs) Handles pop1.Progress
    ' メッセージの受信状況に従ってプログレスバーを更新します。
    progressBar1.Value = If(e.Final, 0, CInt((e.Position * 100) \ e.Length))
End Sub
継承階層

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         Dart.Mail.ComponentBase
            Dart.Mail.MailBase
               Dart.Mail.Pop

参照

参照

Pop メンバ
Dart.Mail 名前空間

 

 


© 2003, GrapeCity inc. All rights reserved.