以下のサンプルコードでは、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