NSDPOP3 メンバ

POP3でメール受信をします。


●コンストラクタ

名前 説明
NSDPOP3 NSDPOP3を初期化します。

●プロパティの一覧

名前 説明
ServerName サーバー名を設定します。
Port ポート番号を設定します。
ReceiveTimeout 受信時のタイムアウトを設定します。
SendTimeout 送信時のタイムアウトを設定します。
ReceiveBufferSize 受信バッファサイズを設定します。
SendBufferSize 送信バッファサイズを設定します。
AttestationStyle 認証スタイルを設定します。
AccountName アカウント名を設定します。
Password パスワードを設定します。
inlineAttachmentStyle inlineの添付スタイルを設定します。
AttachmentFilePath 添付ファイルを保存するフォルダを設定します。
DefaultEncode メッセージをエンコードするEncodingの設定をします。
EncodingStyle Encodingスタイルの設定します。
OneGetListCount 一度に取得するメッセージリストの最大件数を設定します。
SSL SSL(Secure Socket Layer)の有無を設定します。
UseUIDL サーバーがメッセージに対して一意に割り振るIDのリストを利用するかの設定をします。
CheckDuplicationReadUIDL データ読み込み時にサーバーが割り振ったIDをチェックして重複読込をなくすかを設定します。
ReadServerIDInfoList 読み込み済みメッセージのサーバーID情報リストを設定します。
LastReadServerID 最後に読み込んだメッセージに対して一意に割り振られたサーバーのIDを取得します。

●メソッドの一覧

名前 引数 戻り値 説明
Dispose なし なし リソースの解放を行います。
※終了時に必ず呼び出します。

(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)

Cls_Dispose なし なし リソースの解放を行います。
※終了時に必ず呼び出します。

(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)

GetMessageCount なし

Integer型

メッセージ件数を取得します。

GetMessageList ( Integer , Integer , POP3_SIMPLE_HEADER_INFO ) Boolean型 メッセージリストを取得します。
GetMessageSize なし Long型 メッセージのサイズを取得します。
※このメソッドは、GetMessageCountの実行後に呼び出します。
( Integer , Long ) Boolean型 指定メッセージ番号のサイズを取得します。
GetMessageSizeList ( Integer() , Long() ) Boolean型 メッセージのサイズリストを取得します。
GetHeaderInfo ( Integer , POP3_HEADER_INFO ) Boolean型 メッセージの番号を指定して、ヘッダー情報を取得します。
( POP3_SIMPLE_HEADER_INFO , POP3_HEADER_INFO ) Boolean型 指定簡易ヘッダーに一致するヘッダー情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
GetRawHeaderInfo ( Integer ) String型 メッセージの番号を指定して、加工なしのヘッダー情報を取得します。
( POP3_SIMPLE_HEADER_INFO ) String型 指定簡易ヘッダーに一致する加工なしのヘッダー情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
GetRawHeaderInfoByte ( Integer ) Byte()型 メッセージの番号を指定して、加工なしのヘッダー情報を取得します。
( POP3_SIMPLE_HEADER_INFO ) Byte()型 指定簡易ヘッダーに一致する加工なしのヘッダー情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
GetMessageInfo ( Integer , POP3_HEADER_INFO , String ) Boolean型 番号を指定して、メッセージ情報を取得します。
( POP3_SIMPLE_HEADER_INFO , POP3_HEADER_INFO , String ) Boolean型 指定簡易ヘッダーに一致するメッセージ情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
GetRawMessageInfo ( Integer ) String型 番号を指定して、加工なしのメッセージ情報を取得します。
( POP3_SIMPLE_HEADER_INFO ) String型 指定簡易ヘッダーに一致する加工なしのメッセージ情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
GetRawMessageInfoByte ( Integer ) Byte()型 番号を指定して、加工なしのメッセージ情報を取得します。
( POP3_SIMPLE_HEADER_INFO ) Byte()型 指定簡易ヘッダーに一致する加工なしのメッセージ情報を1件取得します。
※該当するメッセージが見つかった時点で戻ります。
DeleteMessage ( Integer ) Boolean型 番号を指定してメッセージを削除します。
( POP3_SIMPLE_HEADER_INFO ) Boolean型 指定簡易ヘッダーに一致するメッセージを1件削除します。
※該当するメッセージが見つかった時点で戻ります。
DeleteMessageList ( String() ) Boolean型 指定メッセージIDリストに一致するデータを削除します。
※該当するメッセージIDリストのデータを全て削除した時点で戻ります。
DeleteServerIDList ( String() ) Boolean型 サーバーIDリストのデータを削除します。
GetAllMessageInfo なし Boolean型 全メッセージを取得します。
※メッセージ内容は、POP3_GetMessageInfoイベントで取得します。
GetMessagePop3ServerID ( Integer ) String型 POP3サーバーがメッセージに対して一意に割り振るIDリストを取得します。
( Integer() , String() ) String型 POP3サーバーがメッセージに対して一意に割り振るIDリストを全て取得します。
GetRawHeaderMessage なし String型 ヘッダーの加工なしメッセージを取得します。
GetRawMessage なし String型 加工なしのメッセージを取得します。
GetRawHeaderMessageByte なし Byte()型 ヘッダーの加工なしメッセージを取得します。
GetRawMessageByte なし Byte()型 加工なしのメッセージを取得します。
GetErrNo なし POP3ErrNo エラー番号を取得します。
GetErrMsg なし String型 エラーメッセージを取得します。
GetPop3LastErrMsg なし String型 Pop3サーバーから受け取った最後のエラーメッセージを取得します。

●イベントの一覧

名前 引数 戻り値 説明
POP3_GetMessageList ( POP3_SIMPLE_HEADER_INFO , Integer , Integer , Boolean ) なし 1件のメッセージ取得毎に発生するイベント。
GetMessageListの関数内で発生するイベントです。
POP3_GetMessageInfo ( POP3_HEADER_INFO , String , Boolean , Boolean ) なし 1件のメッセージ取得毎に発生するイベント。
GetAllMessageInfoの関数内で発生するイベントです。
POP3_DeleteMessageList_DeleteBeforeReadData ( Integer , String , Boolean , Boolean ) なし 1件のメッセージ読込んだ後に発生するイベント。
DeleteMessageListの関数内で発生するイベントです。
POP3_DeleteMessageList_DeleteOK ( Integer , String ) なし 1メッセージを削除後に発生するイベント。
DeleteMessageListの関数内で発生するイベントです。
POP3_DeleteServerID_Stop ( Integer , String , Boolean ) なし 削除リスト1件毎に処理前に確認する中止確認イベント。
DeleteServerIDListの関数内で発生するイベントです。
POP3_DeleteServerID_DeleteOK ( Integer , String ) なし 1メッセージの削除後に発生するイベント。
DeleteServerIDListの関数内で発生するイベントです。

●データ用クラスの一覧

名前:POP3_ADDRESS_INFO

構文:

Public Class POP3_ADDRESS_INFO
    Public Name As String = Nothing
    Public Address As String = Nothing
End Class

内容:E-Mailアドレス情報。

名前 説明
Name String 名前。(既定値:Nothing)
Address String E-Mailアドレス。(既定値:Nothing)

 

名前:POP3_CONTENTTYPE_INFO

構文:

Public Class POP3_CONTENTTYPE_INFO
    Public ContentType As String = Nothing
    Public Charset As String = Nothing
    Public Boundary As String = Nothing
End Class

内容:コンテントタイプ情報。

名前 説明
ContentType String コンテントタイプ。(既定値:Nothing)
Charset String Charset。(既定値:Nothing)
Boundary String boundary。(既定値:Nothing)

 

名前:NSDMessageServerIDInfo

構文:

Public Class NSDMessageServerIDInfo
    Public ServerID As String = Nothing
    Public ReadHeader As Boolean = False
    Public ReadAll As Boolean = False
End Class

内容:メッセージの管理用クラス。

名前 説明
ServerID String サーバーがメッセージに対して一意に割り振るID。(既定値:Nothing)
ReadHeader Boolean ヘッダー(簡易ヘッダー情報も含みます。)の読み込み有無。(既定値:False)
ReadAll Boolean 全体の読み込み有無。(既定値:False)

 

名前:POP3_SIMPLE_HEADER_INFO

構文:

Public Class POP3_SIMPLE_HEADER_INFO
    Public Subject As String = Nothing
    Public FromName As String = Nothing
    Public FromAddress As String = Nothing
    Public SenderDay As Date = Nothing
    Public MessegeID As String = Nothing
End Class

内容:簡易ヘッダー情報。

名前 説明
Subject String 件名。(既定値:Nothing)
FromName String 差出人。(既定値:Nothing)
FromAddress String 差出人のE-Mailアドレス。(既定値:Nothing)
SenderDay Date 送信日時。(既定値:Nothing)
MessegeID String メッセージID。(既定値:Nothing)
UIDL NSDMessageServerIDInfo メッセージの管理用クラス。(既定値:Nothing)

 

名前:POP3_HEADER_INFO

構文:

Public Class POP3_HEADER_INFO
    Public MassegeID As String = Nothing
    Public Received() As String = Nothing
    Public SendDate As Date = Nothing
    Public From As POP3_ADDRESS_INFO = Nothing
    Public ToAddress() As POP3_ADDRESS_INFO = Nothing
    Public CcAddress() As POP3_ADDRESS_INFO = Nothing
    Public ReplyAddress() As POP3_ADDRESS_INFO = Nothing
    Public Subject As String = Nothing
    Public Priority As Integer
    Public ContentsType As POP3_CONTENTTYPE_INFO = Nothing
    Public AttachmentName() As String = Nothing
    Public AttachmentFileName() As String = Nothing
End Class

内容:ヘッダー情報。

名前 説明
MassegeID String メッセージID。(既定値:Nothing )
Received() String 送信経緯。(既定値:Nothing )
SendDate Date 送信日時。(既定値:Nothing )
From POP3_ADDRESS_INFO 差出人。(既定値:Nothing )
ToAddress() POP3_ADDRESS_INFO 宛名。(既定値:Nothing )
CcAddress() POP3_ADDRESS_INFO Cc。(既定値:Nothing )
ReplyAddress() POP3_ADDRESS_INFO 返送先。(既定値:Nothing )
Subject String 件名。(既定値:Nothing )
Priority Integer 重要度。(既定値:0)
ContentsType POP3_CONTENTTYPE_INFO コンテントタイプ。(既定値:Nothing )
AttachmentName() String 添付ファイル名。(既定値:Nothing )
AttachmentFileName() String 添付ファイルのフルパス名。(既定値:Nothing )
UIDL NSDMessageServerIDInfo メッセージの管理用クラス。(既定値:Nothing)

●定数の一覧

名前:ATTACHMENT_STYLE (inline指定されている場合の変換方法)
名前 内容
inline_Body inlineでfilenameがないものは、本文に表示する。
inline_Attachments inlineでfilenameがないものは、Content-Descriptionをファイル名に起用する。
inline_NoBody inlineでfilenameがないものは、添付ファイルまたは本文に変換しません。
名前:POP3_Attestation_Style (認証スタイル)
名前 内容
NTLM_UserPass NTLM認証ができる場合はNTLM認証を行い、できない場合はUSER、PASS認証を行います。*1
UserPassOnly USER、PASS認証を行います。
NTLM NTLM認証を行います。*1

*1:NTLM認証でサーバーに送信するフラグは下に示す内容で送信し、認証を行います。

フラグ 内容
NEGOTIATE_UNICODE Unicode文字がサポートされています。
NEGOTIATE_OEM OEM文字がサポートされています。
REQUEST_TARGET サーバーから認証領域が送られます。
NEGOTIATE_NTLM NTLM(Windows NT LAN Manager)認証を使用します。
NEGOTIATE_ALWAYS_SIGN すべてのセキュリティレベルの署名であることを示します。
NEGOTIATE_VERSION OSのバージョン番号を要求します。
NEGOTIATE_128 128ビットの暗号化がサポートされています。
NEGOTIATE_56 56ビットの暗号化がサポートされています。
名前:NSDEncodingStyle (Encodingスタイル)
名前 内容
DataWriteCode_CodeEqualDataWriteCode データに記述されているコードを優先。
DataWriteCode_CodeEqualDataCheck データに記述されているコードを優先、エンコード種類が同じ場合はデータチェック結果を優先。
DataCheck_CodeEqualDataWriteCode データチェック結果を優先、エンコード種類が同じ場合はデータに記述されているコードを優先。
DataCheck_CodeEqualDataCheck データチェック結果を優先。
名前:POP3ErrNo (エラー番号)
名前 内容
NoErr エラーなし。
NoHostName サーバー名が設定されていません。
NoAccountName アカウント名が設定されていません。
NoPassword パスワードが設定されていません。
NoPortNo ポート番号が設定されていません。
NotPortNo ポート番号が範囲外です。
NotConnect サーバーに接続できません。
NotGetStream ストリームが取得できません。
NotUser アカウントが確認できません。
NotPassword パスワードが確認できません。
SetErrTcpClient TcpClientが設定できません。
AuthenticationException 認証ストリームの認証が失敗しました。
SocketException ソケットアクセス中にエラーが発生しました。
ObjectDisposedException TcpClientが閉じています。
NotNTLM NTLMがサポートされていません。
NoNTLM_Type1 NTLM認証のType1が確認できません。
NoNTLM_Type2 NTLM認証のType2が確認できません。
NoNTLM_Type3 NTLM認証のType3が確認できません。
NoMessageNo メッセージ番号が不正です。
NotFoundMessage メッセージが見つかりません。
ErrSTATCommand STATコマンドでエラーが発生しました。
ErrTOPCommand TOPコマンドでエラーが発生しました。
ErrDELECommand DELEコマンドでエラーが発生しました。
ErrRETRCommand RETRコマンドでエラーが発生しました。
ErrLISTCommand LISTコマンドでエラーが発生しました。
ErrUIDLCommand UIDLコマンドでエラーが発生しました。
ErrDELETELISTNOALLDATA 削除用リストに存在するデータ全てを削除できませんでした。
ErrDELETELISTNODATA 削除用リストに存在するデータの一部を削除できませんでした。
ErrDELETELISTSTOP ユーザーによって削除処理が中止されました。
ErrGETMESSAGESTOP ユーザーによって取得が中止されました。
UnKnownErr 不明なエラー。

●NSDPOP3コンストラクタの説明

構文:Public Sub New()

使用法:Public ClsPub_POP3 As New NSDPOP3

引数:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

●NSDPOP3プロパティの説明

名前:ServerName

構文:Public Property ServerName() As String

機能:サーバー名を設定します。

引数:なし。

値:String

値の説明:

メールサーバー名を設定、取得します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""  ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Port

構文:Public Property Port() As Int32

機能:ポート番号を設定します。

引数:なし。

値:Int32

値の説明:

ポート番号を設定、取得します.(既定値:110)。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .Port = 110         ' <- ポート番号を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ReceiveTimeout

構文:Public Property ReceiveTimeout() As Int32

機能:受信時のタイムアウトを設定します。

引数:なし。

値:Int32

値の説明:

受信時のタイムアウトをミリ秒単位で設定、取得します.(既定値:10000)。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""           ' <- サーバー名を設定します.
                .ReceiveTimeout = 10000 ' <- 受信時のタイムアウトを設定します.
                .AccountName = ""          ' <- アカウント名を設定します.
                .Password = ""             ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SendTimeout

構文:Public Property SendTimeout() As Int32

機能:送信時のタイムアウトを設定します。

引数:なし。

値:Int32

値の説明:

送信時のタイムアウトをミリ秒単位で設定、取得します.(既定値:10000)。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""        ' <- サーバー名を設定します.
                .SendTimeout = 10000 ' <- 送信時のタイムアウトを設定します.
                .AccountName = ""       ' <- アカウント名を設定します.
                .Password = ""          ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ReceiveBufferSize

構文:Public Property ReceiveBufferSize() As Int32

機能:受信バッファサイズを設定します。

引数:なし。

値:Int32

値の説明:

受信バッファサイズを設定、取得します.(既定値:8192)。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""              ' <- サーバー名を設定します.
                .ReceiveBufferSize = 8192 ' <- 受信バッファサイズを設定します.
                .AccountName = ""             ' <- アカウント名を設定します.
                .Password = ""                ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SendBufferSize

構文:Public Property SendBufferSize() As Int32

機能:送信バッファサイズを設定します。

引数:なし。

値:Int32

値の説明:

送信バッファサイズを設定、取得します.(既定値:8192)。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""            ' <- サーバー名を設定します.
                .SendBufferSize = 8192   ' <- 送信バッファサイズを設定します.
                .AccountName = ""           ' <- アカウント名を設定します.
                .Password = ""              ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:AttestationStyle

構文:Public Property AttestationStyle As POP3_Attestation_Style

機能:認証スタイルを設定します。

引数:なし。

値:POP3_Attestation_Style

値の説明:

認証スタイルを設定、取得します。

(既定値:POP3_Attestation_Style.NTLM_UserPass)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""            ' <- サーバー名を設定します.
                ' 認証スタイルを設定します.
                .AttestationStyle = NSDPOP3.POP3_Attestation_Style.NTLM_UserPass
                .AccountName = ""           ' <- アカウント名を設定します.
                .Password = ""              ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:AccountName

構文:Public Property AccountName() As String

機能:アカウント名を設定します。

引数:なし。

値:String

値の説明:

アカウント名を設定、取得します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = "" ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Password

構文:Public Property Password() As String

機能:パスワードを設定します。

引数:なし。

値:String

値の説明:

パスワードを設定、取得します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""    ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:inlineAttachmentStyle

構文:Public Property inlineAttachmentStyle() As ATTACHMENT_STYLE

機能:inlineの添付スタイルを設定します。

引数:なし。

値:ATTACHMENT_STYLE

値の説明:

inlineの内容を本文に表示する、または添付ファイルにするなどの設定を行います。

(既定値:ATTACHMENT_STYLE.inline_Body)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing
    Dim ClsPrv_HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            Dim Str_Text As String = Nothing
            ' inlineの内容を添付ファイルにします.
            ClsPrv_POP3.inlineAttachmentStyle = NSDPOP3.ATTACHMENT_STYLE.inline_Attachments
            ' メッセージを取得します.
            If ClsPrv_POP3.GetMessageInfo(1, ClsPrv_HeaderInfo, Str_Text) Then
                If Not (ClsPrv_HeaderInfo.AttachmentName Is Nothing) Then
                    MsgBox("添付ファイル数:" & Convert.ToString(ClsPrv_HeaderInfo.AttachmentName.Length))
                Else
                    MsgBox("添付ファイルはありません。")
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:AttachmentFilePath

構文:Public Property AttachmentFilePath() As String

機能:添付ファイルを保存するフォルダを設定します。

引数:なし。

値:String

値の説明:

添付ファイルを保存するフォルダの設定を行います。

Nothingの場合は、システムのテンポラリーフォルダに保存されます。
(既定値:Nothing)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing
    Dim ClsPrv_HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            If String.IsNullOrEmpty(ClsPrv_POP3.AttachmentFilePath) Then
                MsgBox("添付ファイルは、システムのテンポラリーフォルダに保存されます。")
            Else
                MsgBox("添付ファイルの保存フォルダ:" & ClsPrv_POP3.AttachmentFilePath)
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DefaultEncode

構文:Public Property DefaultEncode() AS System.Text.Encoding

機能:メッセージをエンコードするEncodingの設定をします。

引数:なし。

値:System.Text.Encoding

値の説明:

メッセージにエンコードの指定がない場合に使用するエンコードを設定、取得します。

(既定値:iso-2022-jp)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing
    Dim ClsPrv_HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            Dim Str_Text As String = Nothing
            ' デフォルトのEncodeingを西ヨーロッパ言語をセットします.
            ClsPrv_POP3.DefaultEncode = System.Text.Encoding.GetEncoding(28591)
            ' メッセージを取得します.
            If ClsPrv_POP3.GetMessageInfo(1, ClsPrv_HeaderInfo, Str_Text) Then
                If Not (ClsPrv_HeaderInfo.AttachmentName Is Nothing) Then
                    MsgBox("添付ファイル数:" & Convert.ToString(ClsPrv_HeaderInfo.AttachmentName.Length))
                Else
                    MsgBox("添付ファイルはありません。")
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:EncodingStyle

構文:Public Property EncodingStyle() As NSDEncodingStyle

機能:Encodingスタイルを設定します。

引数:なし。

値:NSDEncodingStyle

値の説明:

Encodingのスタイルを設定、取得します。

(既定値:NSDEncodingStyle.DataWriteCode_CodeEqualDataCheck)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' EncodingStyleをデータチェックを行った結果を優先に変更.
            ClsPrv_POP3.EncodingStyle = NSDEncodingStyle.DataCheck_CodeEqualDataCheck

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                    .Items.Clear
                    If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                        For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Str_FromName As String = Cls_SimpleHeaderInfo(Int_Loop).FromName
                            If String.IsNullOrEmpty(Str_FromName) Then
                                Str_FromName = Cls_SimpleHeaderInfo(Int_Loop).FromAddress
                            End If
                            Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                            With LvItem
                                ' 件名をセット.
                                .SubItems.Add(Cls_SimpleHeaderInfo(Int_Loop).Subject)
                                ' 送信日時をセット.
                                .SubItems.Add(Format(Cls_SimpleHeaderInfo(Int_Loop).SenderDay, _
                                                     "yyyy/MM/dd (ddd) HH:mm"))
                                ' メッセージIDをセット.
                                .Tag = Cls_SimpleHeaderInfo(Int_Loop).MessegeID
                            End With
                        Next Int_Loop
                    End If
                    If .Items.Count <> 0 Then
                        .Items(0).Selected = True
                    Else
                        MsgBox("メッセージがありません。")
                    End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:OneGetListCount

構文:Public Property OneGetListCount() As Integer

機能:一度に取得するメッセージリストの最大件数を設定します。

引数:なし。

値:Integer

値の説明:

一度に取得するリストの最大件数を設定、取得します。

※0=全て(既定値:0)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' 最大10件取得します.
            ClsPrv_POP3.OneGetListCount = 10

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                    .Items.Clear
                    If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                        For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Str_FromName As String = Cls_SimpleHeaderInfo(Int_Loop).FromName
                            If String.IsNullOrEmpty(Str_FromName) Then
                                Str_FromName = Cls_SimpleHeaderInfo(Int_Loop).FromAddress
                            End If
                            Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                            With LvItem
                                ' 件名をセット.
                                .SubItems.Add(Cls_SimpleHeaderInfo(Int_Loop).Subject)
                                ' 送信日時をセット.
                                .SubItems.Add(Format(Cls_SimpleHeaderInfo(Int_Loop).SenderDay, _
                                                     "yyyy/MM/dd (ddd) HH:mm"))
                                ' メッセージIDをセット.
                                .Tag = Cls_SimpleHeaderInfo(Int_Loop).MessegeID
                            End With
                        Next Int_Loop
                    End If
                    If .Items.Count <> 0 Then
                        .Items(0).Selected = True
                    Else
                        MsgBox("メッセージがありません。")
                    End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SSL

構文:Public Property SSL() As Boolean

機能:SSL(Secure Socket Layer)の使用有無を設定します。

引数:なし。

値:Boolean

値の説明:

True =POP over SSLでサーバーとやりとりします。

False=POP over SSLを使用しません。(既定値)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .Port = 995         ' <- ポート番号を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' SSLを使用します.
            ClsPrv_POP3.SSL = True

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                    .Items.Clear
                    If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                        For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Str_FromName As String = Cls_SimpleHeaderInfo(Int_Loop).FromName
                            If String.IsNullOrEmpty(Str_FromName) Then
                                Str_FromName = Cls_SimpleHeaderInfo(Int_Loop).FromAddress
                            End If
                            Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                            With LvItem
                                ' 件名をセット.
                                .SubItems.Add(Cls_SimpleHeaderInfo(Int_Loop).Subject)
                                ' 送信日時をセット.
                                .SubItems.Add(Format(Cls_SimpleHeaderInfo(Int_Loop).SenderDay, _
                                                     "yyyy/MM/dd (ddd) HH:mm"))
                                ' メッセージIDをセット.
                                .Tag = Cls_SimpleHeaderInfo(Int_Loop).MessegeID
                            End With
                        Next Int_Loop
                    End If
                    If .Items.Count <> 0 Then
                        .Items(0).Selected = True
                    Else
                        MsgBox("メッセージがありません。")
                    End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:UseUIDL

構文:Public Property UseUIDL() As Boolean

機能:サーバーがメッセージに対して一意に割り振るIDのリストを利用するかの設定をします。

引数:なし。

値:Boolean

値の説明:

True =一意に割り振るIDリストを利用します。

※UIDLコマンドが処理できないサーバーはTrueにしても利用できません。

False=一意に割り振るIDリストを利用しません。(既定値)

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' 一意に割り振るIDリストを利用します.
            ClsPrv_POP3.UseUIDL = True
            ' 重複読込のチェックをします.
            ClsPrv_POP3.CheckDuplicationReadUIDL = True
            Dim Cls_ServerIDInfo() As NSDPOP3.NSDMessageServerIDInfo = Nothing
                :
            ' サーバーID情報をファイルから読み込みます.
                :

            ' 保持していたサーバーID情報をセットします.
            ClsPub_POP3.ReadServerIDInfoList = Cls_ServerIDInfo

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then

                :

            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:CheckDuplicationReadUIDL

構文:Public Property CheckDuplicationReadUIDL() As Boolean

機能:データ読み込み時にサーバーが割り振ったIDをチェックして重複読込をなくすかを設定します。

引数:なし。

値:Boolean

値の説明:

True =GetMessageListまたはGetAllMessageInfoでデータを読み込むときに、ReadServerIDInfoListで取得できるデータを元に、重複読込のチェックを行います。(既定値)

False=重複読込のチェックを行いません。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' 一意に割り振るIDリストを利用します.
            ClsPrv_POP3.UseUIDL = True
            ' 重複読込のチェックをします.
            ClsPrv_POP3.CheckDuplicationReadUIDL = True
            Dim Cls_ServerIDInfo() As NSDPOP3.NSDMessageServerIDInfo = Nothing
                :
            ' サーバーID情報をファイルから読み込みます.
                :

            ' 保持していたサーバーID情報をセットします.
            ClsPub_POP3.ReadServerIDInfoList = Cls_ServerIDInfo

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then

                :

            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ReadServerIDInfoList

構文:Public Property ReadServerIDInfoList() As NSDMessageServerIDInfo()

機能:読み込み済みメッセージのサーバーID情報リストを設定します。

引数:なし。

値:NSDMessageServerIDInfo()

値の説明:

読み込み済みメッセージのサーバーID情報リストを設定します。

UseUIDL=TrueでサーバーIDを利用する場合、ここで設定している読込済み情報を参照します。

使用する場合は、ソフトウェアで内容をファイルに保存し起動時に前回の内容を読込設定する必要があります。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' 一意に割り振るIDリストを利用します.
            ClsPrv_POP3.UseUIDL = True
            ' 重複読込のチェックをします.
            ClsPrv_POP3.CheckDuplicationReadUIDL = True
            Dim Cls_ServerIDInfo() As NSDPOP3.NSDMessageServerIDInfo = Nothing
                :
            ' サーバーID情報をファイルから読み込みます.
                :

            ' 保持していたサーバーID情報をセットします.
            ClsPub_POP3.ReadServerIDInfoList = Cls_ServerIDInfo

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then

                :

            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:LastReadServerID

構文:Public ReadOnly Property LastReadServerID() As String

機能:最後に読み込んだメッセージに対して一意に割り振られたサーバーのIDを取得します。

引数:なし。

値:String

値の説明:

最後に読み込んだメッセージに対して一意に割り振られたサーバーのIDを取得します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' 一意に割り振るIDリストを利用します.
            ClsPrv_POP3.UseUIDL = True
            ' 重複読込のチェックをします.
            ClsPrv_POP3.CheckDuplicationReadUIDL = True
            Dim Cls_ServerIDInfo() As NSDPOP3.NSDMessageServerIDInfo = Nothing
                :
            ' サーバーID情報をファイルから読み込みます.
                :

            ' 保持していたサーバーID情報をセットします.
            ClsPub_POP3.ReadServerIDInfoList = Cls_ServerIDInfo

            ' 加工なしのメッセージを取得します.
            Dim Str_Data As String = ClsPrv_POP3.GetRawMessageInfo(1)
            Dim Str_ServerID As String = ClsPrv_POP3.LastReadServerID()

        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

●NSDPOP3メソッドの説明

名前:Dispose

構文:Public Sub Dispose()

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Cls_Dispose

構文:Public Sub Cls_Dispose()

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetMessageCount

構文:Public Function GetMessageCount() As Integer

機能:メッセージ件数を取得します。

引数:なし。

戻り値:Integer

戻り値の説明:

-1:失敗、エラー発生
正の整数:メッセージ件数

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetMessageList

構文:Public Function GetMessageList( StartNo , EndNo , SimpleHeaderInfo() ) As Boolean

機能:メッセージリストを取得します。

引数:

名前 引数渡しの方法 説明
StartNo Integer 値渡し(ByVal) メッセージリストを取得するメッセージの開始番号を渡します。
※0の場合は、先頭1番からになります。
EndNo Integer 値渡し(ByVal) メッセージリストを取得するメッセージの最終番号を渡します。
※0の場合は、最終メッセージ番号になります。
SimpleHeaderInfo() POP3_SIMPLE_HEADER_INFO 参照渡し(ByRef) 簡易ヘッダーのリストを戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                    .Items.Clear
                    If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                        For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Str_FromName As String = Cls_SimpleHeaderInfo(Int_Loop).FromName
                            If String.IsNullOrEmpty(Str_FromName) Then
                                Str_FromName = Cls_SimpleHeaderInfo(Int_Loop).FromAddress
                            End If
                            Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                            With LvItem
                                ' 件名をセット.
                                .SubItems.Add(Cls_SimpleHeaderInfo(Int_Loop).Subject)
                                ' 送信日時をセット.
                                .SubItems.Add(Format(Cls_SimpleHeaderInfo(Int_Loop).SenderDay, _
                                                     "yyyy/MM/dd (ddd) HH:mm"))
                                ' メッセージIDをセット.
                                .Tag = Cls_SimpleHeaderInfo(Int_Loop).MessegeID
                            End With
                        Next Int_Loop
                    End If
                    If .Items.Count <> 0 Then
                        .Items(0).Selected = True
                    Else
                        MsgBox("メッセージがありません。")
                    End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetMessageSize

機能:メッセージのサイズを取得します。

@メッセージのサイズを戻します。
   ※このメソッドは、GetMessageCountの実行後に呼び出します。

構文:Public Overloads Function GetMessageSize() As Long

引数:なし。

戻り値:Long

戻り値の説明:

メッセージのサイズを戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount)
                Str_Msg += ControlChars.CrLf & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:"
                Str_Msg += Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定メッセージ番号のサイズを戻します。

構文:Public Overloads Function GetMessageSize( No , Size ) As Boolean

引数:

名前 引数渡しの方法 説明
No Integer 値渡し(ByVal) メッセージ番号を渡します。
Size Long 参照渡し(ByRef) メッセージのサイズを戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのサイズを取得します.
            Dim Int_No As Integer = 1 ' <- サイズを取得するメッセージ番号を指定します.
            Dim Lng_Size As Long = 0
            If ClsPrv_POP3.GetMessageSize(Int_No, Lng_Size) Then
                Dim Str_Msg As String
                Str_Msg = "メッセージ番号:" & Convert.ToString(Int_No)
                Str_Msg &= " " & "サイズ:" & Convert.ToString(Lng_Size)
                MsgBox(Str_Msg)
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

名前:GetMessageSizeList

構文:Public Function GetMessageSizeList( DataNo() , Size() ) As Boolean

機能:メッセージのサイズリストを戻します。

引数:

名前 引数渡しの方法 説明
DataNo() Integer 参照渡し(ByRef) メッセージ番号のリストを戻します。
Size() Long 参照渡し(ByRef) メッセージのサイズのリストを戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのサイズリストを取得します.
            Dim Int_No() As Integer = Nothing
            Dim Lng_Size() As Long = Nothing
            If ClsPrv_POP3.GetMessageSizeList(Int_No, Lng_Size) Then
                If Not (Int_No Is Nothing) Then
                    For Int_Loop As Integer = 0 To Int_No.Length - 1
                        Dim Str_Msg As String
                        Str_Msg = "メッセージ番号:" & Convert.ToString(Int_No(Int_Loop))
                        Str_Msg &= " " & "サイズ:" & Convert.ToString(Lng_Size(Int_Loop))
                        MsgBox(Str_Msg)
                    Next Int_Loop
                Else
                   ' エラー発生.
                   MsgBox("メッセージがありません。")
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetHeaderInfo

機能:ヘッダー情報を取得します。

@メッセージの番号を指定して、ヘッダー情報を取得します。

構文:Public Overloads Function GetHeaderInfo( MessageNo , POP3HeaderInfo ) As Boolean

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。
POP3HeaderInfo POP3_HEADER_INFO 参照渡し(ByRef) ヘッダー情報を戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                   .Items.Clear
                   If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                       For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Cls_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing
                            If ClsPrv_POP3.GetHeaderInfo(Int_Loop + 1, _
                                     Cls_POP3HeaderInfo) Then
                                Dim Str_FromName As String = Cls_POP3HeaderInfo.From.Name
                                If String.IsNullOrEmpty(Str_FromName) Then
                                    Str_FromName = Cls_POP3HeaderInfo.From.Address
                                End If
                                Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                                With LvItem
                                   ' 件名をセット.
                                   .SubItems.Add(Cls_POP3HeaderInfo.Subject)
                                   ' 送信日時をセット.
                                   .SubItems.Add(Format(Cls_POP3HeaderInfo.SendDate, _
                                                        "yyyy/MM/dd (ddd) HH:mm"))
                                   ' メッセージIDをセット.
                                   .Tag = Cls_POP3HeaderInfo.MassegeID
                                End With
                            Else
                                ' エラー発生.
                                MsgBox(ClsPrv_POP3.GetErrMsg())
                                Exit For
                            End If
                       Next Int_Loop
                   End If
                   If .Items.Count <> 0 Then
                       .Items(0).Selected = True
                   Else
                       MsgBox("メッセージがありません。")
                   End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致するヘッダー情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetHeaderInfo( SimpleHeaderInfo , POP3HeaderInfo ) As Boolean

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

POP3HeaderInfo POP3_HEADER_INFO 参照渡し(ByRef) ヘッダー情報を戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                With Me.ListView1
                   .Items.Clear
                   If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                       For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                            Dim Cls_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing
                            If ClsPrv_POP3.GetHeaderInfo(Cls_SimpleHeaderInfo(Int_Loop), _
                                                     Cls_POP3HeaderInfo) Then
                                Dim Str_FromName As String = Cls_POP3HeaderInfo.From.Name
                                If String.IsNullOrEmpty(Str_FromName) Then
                                    Str_FromName = Cls_POP3HeaderInfo.From.Address
                                End If
                                Dim LvItem As ListViewItem = .Items.Add(Str_FromName)
                                With LvItem
                                   ' 件名をセット.
                                   .SubItems.Add(Cls_POP3HeaderInfo.Subject)
                                   ' 送信日時をセット.
                                   .SubItems.Add(Format(Cls_POP3HeaderInfo.SendDate, _
                                                        "yyyy/MM/dd (ddd) HH:mm"))
                                   ' メッセージIDをセット.
                                   .Tag = Cls_POP3HeaderInfo.MassegeID
                                End With
                            Else
                                ' エラー発生.
                                MsgBox(ClsPrv_POP3.GetErrMsg())
                                Exit For
                            End If
                       Next Int_Loop
                   End If
                   If .Items.Count <> 0 Then
                       .Items(0).Selected = True
                   Else
                       MsgBox("メッセージがありません。")
                   End If
                End With
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:GetRawHeaderInfo

機能:加工なしのヘッダー情報を取得します。(String型)

@メッセージの番号を指定して、加工なしのヘッダー情報を取得します。

構文:Public Overloads Function GetRawHeaderInfo( MessageNo ) As String

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。

戻り値:String

戻り値の説明:

加工なしのヘッダー情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Str_RawHeader As String = _
                                ClsPrv_POP3.GetRawHeaderInfo(Int_Loop + 1)
                         If Not String.IsNullOrEmpty(Str_RawHeader) Then
                             MsgBox(Str_RawHeader)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致する加工なしのヘッダー情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetRawHeaderInfo( SimpleHeaderInfo ) As String

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

戻り値:String

戻り値の説明:

加工なしのヘッダー情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Str_RawHeader As String = Nothing
                         Str_RawHeader = _
                             ClsPrv_POP3.GetRawHeaderInfo(Cls_SimpleHeaderInfo(Int_Loop))
                         If Not String.IsNullOrEmpty(Str_RawHeader) Then
                             MsgBox(Str_RawHeader)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:GetRawHeaderInfoByte

機能:加工なしのヘッダー情報を取得します。(Byte()型)

@メッセージの番号を指定して、加工なしのヘッダー情報を取得します。

構文:Public Overloads Function GetRawHeaderInfoByte( MessageNo ) As Byte()

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。

戻り値:Byte()

戻り値の説明:

加工なしのヘッダー情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Byte_RawHeader As Byte() = _
                                      ClsPrv_POP3.GetRawHeaderInfoByte(Int_Loop + 1)
                         If Not (Byte_RawHeader Is Nothing) Then
                              :
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致する加工なしのヘッダー情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetRawHeaderInfoByte( SimpleHeaderInfo ) As Byte()

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

戻り値:Byte()

戻り値の説明:

加工なしのヘッダー情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Byte_RawHeader() As Byte = _
                               ClsPrv_POP3.GetRawHeaderInfoByte(Cls_SimpleHeaderInfo(Int_Loop))
                         If Not (Byte_RawHeader Is Nothing) Then
                              :
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:GetMessageInfo

機能:メッセージを取得します。

@番号を指定して、メッセージ情報を取得します。

構文:Public Overloads Function GetMessageInfo( MessageNo , POP3HeaderInfo , Text ) As Boolean

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。
POP3HeaderInfo POP3_HEADER_INFO 参照渡し(ByRef) ヘッダー情報を戻します。
Text String 参照渡し(ByRef) 本文を戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Cls_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing
                         Dim Str_Text As String = Nothing
                         If ClsPrv_POP3.GetMessageInfo(Int_Loop + 1, _
                                                   Cls_POP3HeaderInfo, Str_Text) Then
                             ' 本文を表示します.
                             MsgBox(Str_Text)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致するメッセージ情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetMessageInfo( SimpleHeaderInfo , POP3HeaderInfo , Text ) As Boolean

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

POP3HeaderInfo POP3_HEADER_INFO 参照渡し(ByRef) ヘッダー情報を戻します。
Text String 参照渡し(ByRef) 本文を戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Cls_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO = Nothing
                         Dim Str_Text As String = Nothing
                         If ClsPrv_POP3.GetMessageInfo(_ 
                               Cls_SimpleHeaderInfo(Int_Loop), _
                               Cls_POP3HeaderInfo, Str_Text) Then
                             ' 本文を表示します.
                             MsgBox(Str_Text)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:GetRawMessageInfo

機能:加工なしのメッセージ情報を取得します。(String型)

@番号を指定して、加工なしのメッセージ情報を取得します。

構文:Public Overloads Function GetRawMessageInfo( MessageNo ) As String

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。

戻り値:String

戻り値の説明:

加工なしのメッセージ情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Str_RawMessage As String = Nothing
                         Str_RawMessage = ClsPrv_POP3.GetRawMessageInfo(Int_Loop + 1)
                         If Not String.IsNullOrEmpty(Str_RawMessage) Then
                             MsgBox(Str_RawMessage)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致する加工なしのメッセージ情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetRawMessageInfo( SimpleHeaderInfo ) As String

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

戻り値:String

戻り値の説明:

加工なしのメッセージ情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Str_RawMessage As String = Nothing
                         Str_RawMessage = ClsPrv_POP3.GetRawMessageInfo(Cls_SimpleHeaderInfo(Int_Loop))
                         If Not String.IsNullOrEmpty(Str_RawMessage) Then
                             MsgBox(Str_RawMessage)
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:GetRawMessageInfoByte

機能:加工なしのメッセージ情報を取得します。(Byte()型)

@番号を指定して、加工なしのメッセージ情報を取得します。

構文:Public Overloads Function GetRawMessageInfoByte( MessageNo ) As Byte()

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。

戻り値:Byte()

戻り値の説明:

加工なしのメッセージ情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Byte_RawMessage() As Byte = _
                                ClsPrv_POP3.GetRawMessageInfoByte(Int_Loop + 1)
                         If Not (Byte_RawMessage Is Nothing) Then
                             :
                         Else
                             ' エラー発生.
                             MsgBox(ClsPrv_POP3.GetErrMsg())
                             Exit For
                         End If
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致する加工なしのメッセージ情報を1件取得します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function GetRawMessageInfoByte( SimpleHeaderInfo ) As Byte()

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

戻り値:Byte()

戻り値の説明:

加工なしのメッセージ情報を戻します。
※Nothing:失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    For Int_Loop As Integer = 0 To Cls_SimpleHeaderInfo.Length - 1
                         Dim Byte_RawMessage() As Byte = _
                                ClsPrv_POP3.GetRawMessageInfoByte(Cls_SimpleHeaderInfo(Int_Loop))
                             :
                    Next Int_Loop
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

 

名前:DeleteMessage

機能:メッセージを削除します。

@番号を指定してメッセージを削除します。

構文:Public Overloads Function DeleteMessage( MessageNo ) As Boolean

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) 削除するメッセージ番号を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    ' 1番目のメッセージを削除.
                    If ClsPrv_POP3.DeleteMessage(1) Then
                        MsgBox("1番目のメッセージを削除しました。")
                    Else
                        ' エラー発生.
                        MsgBox(ClsPrv_POP3.GetErrMsg())
                    End If
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定簡易ヘッダーに一致するメッセージを1件削除します。
   ※該当するメッセージが見つかった時点で戻ります。

構文:Public Overloads Function DeleteMessage( SimpleHeaderInfo ) As Boolean

引数:

名前 引数渡しの方法 説明
SimpleHeaderInfo POP3_SIMPLE_HEADER_INFO 値渡し(ByVal)

取得するメッセージ用の簡易ヘッダーを渡します。
※メッセージの該当条件。

MessegeIDが指定されている場合は、MessegeIDのみ確認します。
MessegeIDが指定されていない場合は、[Subject,FromName,FromAddress,SenderDay]の中で指定されている物を確認します。
(Nothingの場合は、指定されていないと判断します。)

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    ' 1番目のメッセージを削除.
                    If ClsPrv_POP3.DeleteMessage(Cls_SimpleHeaderInfo(0)) Then
                        MsgBox("1番目のメッセージを削除しました。")
                    Else
                        ' エラー発生.
                        MsgBox(ClsPrv_POP3.GetErrMsg())
                    End If
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

名前:DeleteMessageList

構文:Public Function DeleteMessageList( DeleteMessageIDList() ) As Boolean

機能:指定メッセージIDリストに一致するデータを削除します。

※該当するメッセージIDリストのデータを全て削除した時点で戻ります。

引数:

名前 引数渡しの方法 説明
DeleteMessageIDList() String 値渡し(ByVal) 削除するメッセージのMessegeIDを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.MessegeID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing
                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除処理で1メッセージ読込んだ後に発生するイベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                   AddressOf POP3_DML_DeleteBeforeReadData
                        Try
                            ' 1メッセージを削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                       AddressOf POP3_DMList_DeleteOK
                            Try
                                ' メッセージを削除します.                
                                If ClsPub_POP3.DeleteMessageList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージを削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                              AddressOf POP3_DMList_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除処理で1メッセージ読込んだ後に発生するイベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                          AddressOf POP3_DML_DeleteBeforeReadData
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
    Private Sub POP3_DML_DeleteBeforeReadData(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_MessageID As String, _
                                              ByRef BlnRef_DeleteCancel As Boolean, _
                                              ByRef BlnRef_DeleteStop As Boolean)
        Try
            Application.DoEvents()
            If BlnPub_Stop Then
                If MsgBox("削除を中止します。" & vbCrLf & _
                          "よろしいですか?", vbYesNo) = vbYes Then
                    ' 削除処理を中止します.
                    BlnRef_DeleteStop = True
                End If
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージの削除後の処理.
    Private Sub POP3_DMList_DeleteOK(ByVal Int_MessageNo As Integer, _
                                     ByVal StrVal_MessageID As String)
        Try
            For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                If Cls_LvItem.Tag = StrVal_MessageID Then
                    ' リストから削除します.
                    Cls_LvItem.Remove()
                    Application.DoEvents()
                    Exit For
                End If
            Next
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DeleteServerIDList

構文:Public Function DeleteServerIDList( DeleteServerIDList() ) As Boolean

機能:サーバーIDリストのデータを削除します。

引数:

名前 引数渡しの方法 説明
DeleteServerIDList() String 値渡し(ByVal) 削除するメッセージのサーバーIDを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
            ' サーバーがメッセージに対して一意に割り振るIDのリストを利用する.
            ClsPub_POP3.UseUIDL = True
            ClsPub_POP3.CheckDuplicationReadUIDL = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージのサーバーIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.UIDL.ServerID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing

                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除リスト1件毎に処理前に確認する中止確認イベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                   AddressOf POP3_DeleteServerID_Stop
                        Try
                            ' 1メッセージの削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                       AddressOf POP3_DeleteServerID_DeleteOK
                            Try
                                If ClsPub_POP3.DeleteServerIDList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージの削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                              AddressOf POP3_DeleteServerID_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除リスト1件毎に処理前に確認する中止確認イベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                          AddressOf POP3_DeleteServerID_Stop
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除中止ボタン.
    Private Sub Stop_Button_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs) Handles Stop_Button.Click
        Try
            Application.DoEvents()
            BlnPub_Stop = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
     Private Sub POP3_DeleteServerID_Stop(ByVal Int_MessageNo As Integer, _
                                          ByVal StrVal_ServerID As String, _
                                          ByRef BlnRef_DeleteStop As Boolean)
         Try
             Application.DoEvents()
             If BlnPub_Stop Then
                 If MsgBox("削除を中止します。" & vbCrLf & "よろしいですか?", _
                           vbYesNo) = vbYes Then
                     ' 削除処理を中止します.
                     BlnRef_DeleteStop = True
                 End If
             End If
         Catch ex As Exception
         End Try
     End Sub

     ' 1メッセージの削除後の処理.
     Private Sub POP3_DeleteServerID_DeleteOK(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_ServerID As String)
         Try
             For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                 If Cls_LvItem.Tag = StrVal_ServerID Then
                     ' リストから削除します.
                     Cls_LvItem.Remove()
                     Application.DoEvents()
                     Exit For
                 End If
             Next
         Catch ex As Exception
         End Try
     End Sub
End Class

 

名前:GetAllMessageInfo

構文:Public Function GetAllMessageInfo() As Boolean

機能:全メッセージを取得します。

※メッセージ内容は、POP3_GetMessageInfoイベントで取得します。

引数:なし。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのヘッダー情報を取得.
            Dim Str_Header As String = ClsPrv_POP3.GetRawHeaderMessage
            ' 加工なしのメッセージ情報を取得.
            Dim Str_Message As String = ClsPrv_POP3.GetRawMessage
            ' メッセージボックスで表示する内容.
            Dim Str_Msg As String = Nothing

            Str_Msg = "メッセージを削除します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' 取得したメッセージを削除します.
                BlnRef_Delete = True
            End If

            Str_Msg = "メッセージの取得を中止します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' メッセージの取得を中止します.
                BlnRef_Stop = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetMessagePop3ServerID

機能:POP3サーバーがメッセージに対して一意に割り振るIDリストを取得します。

@POP3サーバーがメッセージに対して一意に割り振るIDリストを取得します。

構文:Public Function GetMessagePop3ServerID( MessageNo ) As String

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) メッセージ番号を渡します。

戻り値:String

戻り値の説明:

Not Nothing:サーバーが一意に割り振ったIDを戻します。
Nothing :失敗、エラー発生。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' サーバーIDを取得します.
            Dim Str_ServerID As String = ClsPub_POP3.GetMessagePop3ServerID(2)
                :
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

APOP3サーバーがメッセージに対して一意に割り振るIDリストを全て取得します。

構文:Public Function GetMessagePop3ServerID( UIDL1() , UIDL2() ) As Boolean

引数:

名前 引数渡しの方法 説明
UIDL1() Integer 参照渡し(ByRef) メッセージ番号のリストを戻します。
UIDL2() String 参照渡し(ByRef) メッセージ番号のメッセージを示す一意のIDリストを戻します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのサーバーIDリストを取得します.
            Dim Int_No() As Integer = Nothing
            Dim Str_ID() As String = Nothing
            If ClsPrv_POP3.GetMessagePop3ServerID(Int_ID, Str_ID) Then
                :
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

 

名前:GetRawHeaderMessage

構文:Public Function GetRawHeaderMessage() As String

機能:ヘッダーの加工なしメッセージを戻します。

引数:なし。

戻り値:String

戻り値の説明:

加工なしのヘッダー情報を戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのヘッダー情報を取得.
            Dim Str_Header As String = ClsPrv_POP3.GetRawHeaderMessage
            ' 加工なしのメッセージ情報を取得.
            Dim Str_Message As String = ClsPrv_POP3.GetRawMessage
            ' メッセージボックスで表示する内容.
            Dim Str_Msg As String = Nothing

            Str_Msg = "メッセージを削除します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' 取得したメッセージを削除します.
                BlnRef_Delete = True
            End If

            Str_Msg = "メッセージの取得を中止します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' メッセージの取得を中止します.
                BlnRef_Stop = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetRawMessage

構文:Public Function GetRawMessage() As String

機能:加工なしのメッセージを戻します。

引数:なし。

戻り値:String

戻り値の説明:

加工なしのメッセージ情報を戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのヘッダー情報を取得.
            Dim Str_Header As String = ClsPrv_POP3.GetRawHeaderMessage
            ' 加工なしのメッセージ情報を取得.
            Dim Str_Message As String = ClsPrv_POP3.GetRawMessage
            ' メッセージボックスで表示する内容.
            Dim Str_Msg As String = Nothing

            Str_Msg = "メッセージを削除します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' 取得したメッセージを削除します.
                BlnRef_Delete = True
            End If

            Str_Msg = "メッセージの取得を中止します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' メッセージの取得を中止します.
                BlnRef_Stop = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetRawHeaderMessageByte

構文:Public Function GetRawHeaderMessageByte() As Byte()

機能:ヘッダーの加工なしメッセージを戻します。

引数:なし。

戻り値:Byte()

戻り値の説明:

加工なしのヘッダー情報を戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのヘッダー情報を取得.
            Dim Byte_Data() As Byte = ClsPub_POP3.GetRawHeaderMessageByte()
                :
            Application.DoEvents()
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetRawMessageByte

構文:Public Function GetRawMessageByte() As Byte()

機能:加工なしのメッセージを戻します。

引数:なし。

戻り値:Byte()

戻り値の説明:

加工なしのメッセージ情報を戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのメッセージ情報を取得.
            Dim Byte_Message() As Byte = ClsPrv_POP3.GetRawMessageByte

                :
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetErrNo

構文:Public Function GetErrNo() As POP3ErrNo

機能:エラー番号を戻します。

引数:なし。

戻り値:POP3ErrNo

戻り値の説明:

エラー番号を戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox("エラー番号:" & Convert.ToString(ClsPrv_POP3.GetErrNo()))
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetErrMsg

構文:Public Function GetErrMsg() As String

機能:エラーメッセージを戻します。

引数:なし。

戻り値:String

戻り値の説明:

エラーメッセージを戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetPop3LastErrMsg

構文:Public Function GetPop3LastErrMsg() As String

機能:Pop3サーバーから受け取った最後のエラーメッセージを戻します。

引数:なし。

戻り値:String

戻り値の説明:

エラーメッセージを戻します。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの件数を取得します.
            Dim Int_DataCount As Integer = ClsPrv_POP3.GetMessageCount()
            If Int_DataCount = -1 Then
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg() & vbCrLf & ClsPrv_POP3.GetPop3LastErrMsg())
            Else
                ' 件数を表示します.
                Dim Str_Msg As String
                Str_Msg = "メール件数:" & Convert.ToString(Int_DataCount) & ControlChars.CrLf
                Str_Msg += "メッセージのサイズ:" & Convert.ToString(ClsPrv_POP3.GetMessageSize())
                MsgBox(Str_Msg)
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 


●NSDPOP3イベントの説明

 

名前:POP3_GetMessageList

構文:Public Event POP3_GetMessageList( POP3_SIMPLE_HEADER_INFO, MessageNo, MaxMessageNo, Stop)

機能:1件のメッセージ取得毎に発生するイベント。

※GetMessageListの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
POP3_SIMPLE_HEADER_INFO POP3_SIMPLE_HEADER_INFO 値渡し(ByVal) メッセージのヘッダー情報を受け取ります。
MessageNo Integer 値渡し(ByVal) メッセージの番号を受け取ります。
MaxMessageNo Integer 参照渡し(ByVal) 取得するメッセージの最大番号を受け取ります。
Stop Boolean 参照渡し(ByRef) メッセージの取得を中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            Me.ListView1.Items.Clear()
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            ' メッセージの取得イベントをセット.
            AddHandler ClsPub_POP3.POP3_GetMessageList, AddressOf GetOneMessageList
            Try
                If Not ClsPub_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                    ' エラー発生.
                    MsgBox(ClsPub_POP3.GetErrMsg())
                End If
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPub_POP3.POP3_GetMessageList, AddressOf GetOneMessageList
                If (Cls_SimpleHeaderInfo Is Nothing) Then
                    MsgBox("メッセージがありません。")
                End If                        
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageList(ByVal ClsVal_SimpleHeaderInfo As NSDPOP3.POP3_SIMPLE_HEADER_INFO, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            Dim Str_FromName As String = ClsVal_SimpleHeaderInfo.FromName
            If String.IsNullOrEmpty(Str_FromName) Then
                Str_FromName = ClsVal_SimpleHeaderInfo.FromAddress
            End If
            Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
            With LvItem
                ' 件名をセット.
                .SubItems.Add(ClsVal_SimpleHeaderInfo.Subject)
                ' 送信日時をセット.
                .SubItems.Add(Format(ClsVal_SimpleHeaderInfo.SenderDay, "yyyy/MM/dd (ddd) HH:mm"))
                ' メッセージIDをセット.
                .Tag = ClsVal_SimpleHeaderInfo.MessegeID
            End With
            Application.DoEvents()
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:POP3_GetMessageInfo

構文:Public Event POP3_GetMessageInfo( POP3HeaderInfo , Text , Delete , Stop )

機能:1件のメッセージ取得毎に発生するイベント。

※GetAllMessageInfoの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
POP3HeaderInfo POP3_HEADER_INFO 値渡し(ByVal) メッセージのヘッダー情報を受け取ります。
Text String 値渡し(ByVal) メッセージの本文を受け取ります。
Delete Boolean 参照渡し(ByRef) メッセージを削除するかを渡します。
True:削除 False:削除しません(既定値)
Stop Boolean 参照渡し(ByRef) メッセージの取得を中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
                .ServerName = ""    ' <- サーバー名を設定します.
                .AccountName = ""   ' <- アカウント名を設定します.
                .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージの取得イベントをセット.
            AddHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            Try
                ' 全メッセージを取得します.
                ClsPrv_POP3.GetAllMessageInfo()
            Catch ex As Exception
            Finally
                ' メッセージの取得イベントを解除.
                RemoveHandler ClsPrv_POP3.POP3_GetMessageInfo, AddressOf GetOneMessageInfo
            End Try
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージを取得します.
    Private Sub GetOneMessageInfo(ByVal ClsVal_POP3HeaderInfo As NSDPOP3.POP3_HEADER_INFO, _
                                  ByVal StrVal_Text As String, _
                                  ByRef BlnRef_Delete As Boolean, _
                                  ByRef BlnRef_Stop As Boolean)
        Try
            ' 加工なしのヘッダー情報を取得.
            Dim Str_Header As String = ClsPrv_POP3.GetRawHeaderMessage
            ' 加工なしのメッセージ情報を取得.
            Dim Str_Message As String = ClsPrv_POP3.GetRawMessage
            ' メッセージボックスで表示する内容.
            Dim Str_Msg As String = Nothing

            Str_Msg = "メッセージを削除します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' 取得したメッセージを削除します.
                BlnRef_Delete = True
            End If

            Str_Msg = "メッセージの取得を中止します。" & ControlChars.CrLf
            Str_Msg &= "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                ' メッセージの取得を中止します.
                BlnRef_Stop = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:POP3_DeleteMessageList_DeleteBeforeReadData

構文:Public Event POP3_DeleteMessageList_DeleteBeforeReadData( MessageNo , MessageID , Cancel , Stop )

機能:1件のメッセージ読込んだ後に発生するイベント。

※DeleteMessageListの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) 読込データのメッセージ番号を受け取ります。
MessageID String 値渡し(ByVal) 読込データのMessageIDを受け取ります。
Cancel Boolean 参照渡し(ByRef) 削除をキャンセルする場合はTrueを渡します。
True:削除 False:削除しません(既定値)
Stop Boolean 参照渡し(ByRef) 削除処理を中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.MessegeID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing
                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除処理で1メッセージ読込んだ後に発生するイベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                   AddressOf POP3_DML_DeleteBeforeReadData
                        Try
                            ' 1メッセージを削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                       AddressOf POP3_DMList_DeleteOK
                            Try
                                ' メッセージを削除します.                
                                If ClsPub_POP3.DeleteMessageList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージを削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                              AddressOf POP3_DMList_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除処理で1メッセージ読込んだ後に発生するイベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                          AddressOf POP3_DML_DeleteBeforeReadData
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除中止ボタン.
    Private Sub Stop_Button_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs) Handles Stop_Button.Click
        Try
            Application.DoEvents()
            BlnPub_Stop = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
    Private Sub POP3_DML_DeleteBeforeReadData(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_MessageID As String, _
                                              ByRef BlnRef_DeleteCancel As Boolean, _
                                              ByRef BlnRef_DeleteStop As Boolean)
        Try
            Application.DoEvents()
            If BlnPub_Stop Then
                If MsgBox("削除を中止します。" & vbCrLf & _
                          "よろしいですか?", vbYesNo) = vbYes Then
                    ' 削除処理を中止します.
                    BlnRef_DeleteStop = True
                End If
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージの削除後の処理.
    Private Sub POP3_DMList_DeleteOK(ByVal Int_MessageNo As Integer, _
                                     ByVal StrVal_MessageID As String)
        Try
            For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                If Cls_LvItem.Tag = StrVal_MessageID Then
                    ' リストから削除します.
                    Cls_LvItem.Remove()
                    Application.DoEvents()
                    Exit For
                End If
            Next
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:POP3_DeleteMessageList_DeleteOK

構文:Public Event POP3_DeleteMessageList_DeleteOK( MessageNo , MessageID )

機能:1メッセージを削除後に発生するイベント。

※DeleteMessageListの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) 削除データのメッセージ番号を受け取ります。
MessageID String 値渡し(ByVal) 削除データのMessageIDを受け取ります。

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.MessegeID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing
                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除処理で1メッセージ読込んだ後に発生するイベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                   AddressOf POP3_DML_DeleteBeforeReadData
                        Try
                            ' 1メッセージを削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                       AddressOf POP3_DMList_DeleteOK
                            Try
                                ' メッセージを削除します.                
                                If ClsPub_POP3.DeleteMessageList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージを削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteOK, _
                                              AddressOf POP3_DMList_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除処理で1メッセージ読込んだ後に発生するイベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteMessageList_DeleteBeforeReadData, _
                                          AddressOf POP3_DML_DeleteBeforeReadData
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
    Private Sub POP3_DML_DeleteBeforeReadData(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_MessageID As String, _
                                              ByRef BlnRef_DeleteCancel As Boolean, _
                                              ByRef BlnRef_DeleteStop As Boolean)
        Try
            Application.DoEvents()
            If BlnPub_Stop Then
                If MsgBox("削除を中止します。" & vbCrLf & _
                          "よろしいですか?", vbYesNo) = vbYes Then
                    ' 削除処理を中止します.
                    BlnRef_DeleteStop = True
                End If
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 1メッセージの削除後の処理.
    Private Sub POP3_DMList_DeleteOK(ByVal Int_MessageNo As Integer, _
                                     ByVal StrVal_MessageID As String)
        Try
            For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                If Cls_LvItem.Tag = StrVal_MessageID Then
                    ' リストから削除します.
                    Cls_LvItem.Remove()
                    Application.DoEvents()
                    Exit For
                End If
            Next
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:POP3_DeleteServerID_Stop

構文:Public Event POP3_DeleteServerID_Stop( MessageNo, ServerID, DeleteStop)

機能:削除リスト1件毎に処理前に確認する中止確認イベント。

※DeleteServerIDListの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) 読込データのメッセージ番号を受け取ります。
ServerID String 値渡し(ByVal) 読込データのサーバーIDを受け取ります。
DeleteStop Boolean 参照渡し(ByRef) 削除処理を中止する場合はTrueを渡します。
True:削除 False:削除しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
            ' サーバーがメッセージに対して一意に割り振るIDのリストを利用する.
            ClsPub_POP3.UseUIDL = True
            ClsPub_POP3.CheckDuplicationReadUIDL = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージのサーバーIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.UIDL.ServerID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing

                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除リスト1件毎に処理前に確認する中止確認イベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                   AddressOf POP3_DeleteServerID_Stop
                        Try
                            ' 1メッセージの削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                       AddressOf POP3_DeleteServerID_DeleteOK
                            Try
                                If ClsPub_POP3.DeleteServerIDList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージの削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                              AddressOf POP3_DeleteServerID_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除リスト1件毎に処理前に確認する中止確認イベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                          AddressOf POP3_DeleteServerID_Stop
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除中止ボタン.
    Private Sub Stop_Button_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs) Handles Stop_Button.Click
        Try
            Application.DoEvents()
            BlnPub_Stop = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
    Private Sub POP3_DeleteServerID_Stop(ByVal Int_MessageNo As Integer, _
                                          ByVal StrVal_ServerID As String, _
                                          ByRef BlnRef_DeleteStop As Boolean)
         Try
             Application.DoEvents()
             If BlnPub_Stop Then
                 If MsgBox("削除を中止します。" & vbCrLf & "よろしいですか?", _
                           vbYesNo) = vbYes Then
                     ' 削除処理を中止します.
                     BlnRef_DeleteStop = True
                 End If
             End If
         Catch ex As Exception
         End Try
     End Sub

     ' 1メッセージの削除後の処理.
     Private Sub POP3_DeleteServerID_DeleteOK(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_ServerID As String)
         Try
             For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                 If Cls_LvItem.Tag = StrVal_ServerID Then
                     ' リストから削除します.
                     Cls_LvItem.Remove()
                     Application.DoEvents()
                     Exit For
                 End If
             Next
         Catch ex As Exception
         End Try
     End Sub
End Class

 

名前:POP3_DeleteServerID_DeleteOK

構文:Public Event POP3_DeleteServerID_DeleteOK( MessageNo , ServerID )

機能:1メッセージの削除後に発生するイベント。

※DeleteServerIDListの関数内で発生するイベントです。

引数:

名前 引数渡しの方法 説明
MessageNo Integer 値渡し(ByVal) 読込データのメッセージ番号を受け取ります。
ServerID String 値渡し(ByVal) 読込データのサーバーIDを受け取ります。

戻り値:なし。

使用例:

Public Class Form1
    Dim ClsPrv_POP3 As NSDPOP3 = Nothing

    ' Formのロード処理.
    Private Sub Form1_Load( ByVal sender As System.Object,  ByVal e As System.EventArgs) _
                            Handles MyBase.Load
        Try
            ' リソースを割り当てます.
            ClsPrv_POP3 = New NSDPOP3()
            ' サーバーがメッセージに対して一意に割り振るIDのリストを利用する.
            ClsPub_POP3.UseUIDL = True
            ClsPub_POP3.CheckDuplicationReadUIDL = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' Formのクローズ処理.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放します.
            ClsPrv_POP3.Cls_Dispose
            ClsPrv_POP3 = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' メッセージのリストを取得します.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ' サーバー名、アカウントの設定.
            With ClsPrv_POP3
               .ServerName = ""    ' <- サーバー名を設定します.
               .AccountName = ""   ' <- アカウント名を設定します.
               .Password = ""      ' <- パスワードを設定します.
            End With

            ' メッセージのリストを取得します.
            Dim Cls_SimpleHeaderInfo() As NSDPOP3.POP3_SIMPLE_HEADER_INFO = Nothing
            If ClsPrv_POP3.GetMessageList(0, 0, Cls_SimpleHeaderInfo) Then
                If Not (Cls_SimpleHeaderInfo Is Nothing) Then
                    Dim LvItem As ListViewItem = Me.ListView1.Items.Add(Str_FromName)
                    With LvItem
                        ' 件名をセット.
                        .SubItems.Add(ClsRef_SimpleHeaderInfo.Subject)
                        ' 送信日時をセット.
                        .SubItems.Add(Format(ClsRef_SimpleHeaderInfo.SenderDay, _
                                      "yyyy/MM/dd (ddd) HH:mm"))
                        ' メッセージのサーバーIDをセット.
                        .Tag = ClsRef_SimpleHeaderInfo.UIDL.ServerID
                    End With
                    Application.DoEvents()
                End If
            Else
                ' エラー発生.
                MsgBox(ClsPrv_POP3.GetErrMsg())
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' データを削除します.
    Private Sub Button2_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Button2.Click
        Try
            With Me.ListView1
                If (.SelectedItems.Count = 0) Then
                    MsgBox("削除データが選択されていません.")
                Else
                    Dim Str_DeleteMsgID() As String = Nothing

                    ReDim Str_DeleteMsgID(0 To .SelectedItems.Count - 1)
                    For Int_Loop As Integer = 0 To .SelectedItems.Count - 1
                        Str_DeleteMsgID(Int_Loop) = .SelectedItems(Int_Loop).Tag
                    Next
                    If MsgBox("選択データを削除します。" & vbCrLf & _
                              "よろしいですか?",vbYesNo) = vbYes Then
                        ' 削除リスト1件毎に処理前に確認する中止確認イベントをセット.
                        AddHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                   AddressOf POP3_DeleteServerID_Stop
                        Try
                            ' 1メッセージの削除後に発生するイベントをセット.
                            AddHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                       AddressOf POP3_DeleteServerID_DeleteOK
                            Try
                                If ClsPub_POP3.DeleteServerIDList(Str_DeleteMsgID) Then
                                    MsgBox("データを削除しました。")
                                Else
                                    MsgBox("データの削除に失敗しました。")
                                End If
                            Catch ex As Exception
                            Finally
                                ' 1メッセージの削除後に発生するイベントを解除.
                                RemoveHandler ClsPub_POP3.POP3_DeleteServerID_DeleteOK, _
                                              AddressOf POP3_DeleteServerID_DeleteOK
                            End Try
                        Catch ex As Exception
                        Finally
                            ' 削除リスト1件毎に処理前に確認する中止確認イベントを解除.
                            RemoveHandler ClsPub_POP3.POP3_DeleteServerID_Stop, _
                                          AddressOf POP3_DeleteServerID_Stop
                        End Try
                    End If
                End If
            End With
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除中止ボタン.
    Private Sub Stop_Button_Click( ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs) Handles Stop_Button.Click
        Try
            Application.DoEvents()
            BlnPub_Stop = True
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 削除の中止確認.
    Private Sub POP3_DeleteServerID_Stop(ByVal Int_MessageNo As Integer, _
                                          ByVal StrVal_ServerID As String, _
                                          ByRef BlnRef_DeleteStop As Boolean)
         Try
             Application.DoEvents()
             If BlnPub_Stop Then
                 If MsgBox("削除を中止します。" & vbCrLf & "よろしいですか?", _
                           vbYesNo) = vbYes Then
                     ' 削除処理を中止します.
                     BlnRef_DeleteStop = True
                 End If
             End If
         Catch ex As Exception
         End Try
     End Sub

    ' 1メッセージの削除後の処理.
    Private Sub POP3_DeleteServerID_DeleteOK(ByVal Int_MessageNo As Integer, _
                                              ByVal StrVal_ServerID As String)
         Try
             For Each Cls_LvItem As ListViewItem In Me.ListView1.SelectedItems
                 If Cls_LvItem.Tag = StrVal_ServerID Then
                     ' リストから削除します.
                     Cls_LvItem.Remove()
                     Application.DoEvents()
                     Exit For
                 End If
             Next
         Catch ex As Exception
         End Try
     End Sub
End Class

Copyright (C) 2009-2011 Nihon System Developer Corp. All Rights Reserved.