NSDPOP3 メンバ

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


●コンストラクタ

名前

説明

NSDPOP3

NSDPOP3を初期化します。


●プロパティの一覧

名前

説明

ServerName サーバー名を設定します。
Port ポート番号を設定します。
ReceiveTimeout 受信時のタイムアウトを設定します。
SendTimeout 送信時のタイムアウトを設定します。
ReceiveBufferSize 受信バッファサイズを設定します。
SendBufferSize 送信バッファサイズを設定します。
AttestationStyle 認証スタイルを設定します。
AccountName アカウント名を設定します。
Password パスワードを設定します。
inlineAttachmentStyle inlineの添付スタイルを設定します。
AttachmentFilePath 添付ファイルを保存するフォルダを設定します。
DefaultEncode メッセージをエンコードするEncodingの設定をします。

●メソッドの一覧

名前

引数

戻り値

説明

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件取得します。
※該当するメッセージが見つかった時点で戻ります。
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件取得します。
※該当するメッセージが見つかった時点で戻ります。
DeleteMessage ( Integer ) Boolean型 番号を指定してメッセージを削除します。
( POP3_SIMPLE_HEADER_INFO ) Boolean型 指定簡易ヘッダーに一致するメッセージを1件削除します。
※該当するメッセージが見つかった時点で戻ります。
GetAllMessageInfo なし Boolean型 全メッセージを取得します。
※メッセージ内容は、POP3_GetMessageInfoイベントで取得します。
GetRawHeaderMessage なし String型 ヘッダーの加工なしメッセージを返します。
GetRawMessage なし String型 加工なしのメッセージを返します。
GetErrNo なし POP3ErrNo エラー番号を返します。
GetErrMsg なし String型 エラーメッセージを返します。

●イベントの一覧

名前

引数

戻り値

説明

POP3_GetMessageInfo

( POP3_HEADER_INFO , String , Boolean , Boolean )

なし

1メッセージを取得します。
※GetAllMessageInfoの関数内で発生するイベントです。


●データ用クラスの一覧

名前: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)

 

名前: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)

 

名前:POP3_HEADER_INFO

構文:

Public Class POP3_SIMPLE_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 )

●定数の一覧

名前: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ビットの暗号化がサポートされています。

名前:POP3ErrNo (エラー番号)

名前

内容

NoErr エラーなし。
NoHostName サーバー名が設定されていません。
NoAccountName アカウント名が設定されていません。
NoPassword パスワードが設定されていません。
NoPortNo ポート番号が設定されていません。
NotPortNo ポート番号が範囲外です。
NotConnect サーバーに接続できません。
NotGetStream ストリームが取得できません。
NotUser アカウントが確認できません。
NotPassword パスワードが確認できません。
SetErrTcpClient TcpClientが設定できません。
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コマンドでエラーが発生しました。
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

●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) & 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

 

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

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

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

構文: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

 

 

 

名前: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

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

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

構文: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

 

 

 

名前: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

 

 

名前: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

 

名前: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

 

名前: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

 


●NSDPOP3イベントの説明

 

名前: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

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