前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1
SFXPOP3
POP3 プロトコルを処理するためのクラスです。
#include <SFXPOP3.h.hpp>
class SFXPOP3;
SFMTYPEDEFCLASS(SFXPOP3)

協調図

SFXPOP3 クラスの協調図

POP3 メール受信の手順

  1. SFXPOP3 クラスのインスタンスを生成します。 この時点では、POP3 メール受信のためのリソースは確保されていません。
  2. SFXPOP3::Open 関数を呼び出して、POP3 メール受信の初期化を行い、SFXPOP3::Connect 関数を呼び出して、POP3 サーバーに接続します。 SFXPOP3::Connect 関数では、POP3 メール受信の処理結果が通知されるコールバック関数を登録します。
  3. POP3 サーバーとの接続が確立すると、POP3 メール受信の処理を開始できます。
  4. POP3 メール受信に関連するコマンドは SFXPOP3::SendCommand などの関数を使って、POP3 サーバーに送信します。
  5. POP3 メール受信に関連するコマンドを送信し、POP3 サーバーから応答を受信すると、SFXPOP3::Connect 関数で登録したコールバック関数が呼び出されます。
  6. POP3 メール受信が完了すると、SFXPOP3::SendQuitCommand 関数を呼び出して、QUIT コマンドを POP3 サーバーに送信します。 POP3 サーバーからの応答を確認してから、SFXPOP3::Close 関数を呼び出して、POP3 サーバーとの接続を切断します。

解説

[Note] POP3 プロトコルに関する詳細情報

POP3 の仕様 : RFC1939 ( Post Office Protocol - Version 3 )

参照

SFXSMTP | SFXSMTPSender | SFXPOP3Receiver | メール受信

メンバ

コンストラクタ/デストラクタ
SFXPOP3( Void )
SFXPOP3 クラスのコンストラクタです。
~SFXPOP3( Void )
SFXPOP3 クラスのデストラクタです。
パブリック関数
Void Cancel( Void )
POP3 メール受信をキャンセルします。
Void Close( Void )
POP3 サーバーとの接続を終了します。
SFCError Connect( SFXSocketAddressConstRef address , CallbackSPP spp , VoidPtr reference )
POP3 サーバーに接続します。
SFCError GetListResponse( NumberSizeRecHandle recHandle , SInt32Ptr recCount )
GetListResponse( NumberSizeRecPtr rec )
LIST コマンドの応答を取得します。
SFCError GetLocalAddress( SFXSocketAddressPtr result )
ローカルの IP アドレスとポート番号を取得します。
SFCError GetRemoteAddress( SFXSocketAddressPtr result )
リモートの IP アドレスとポート番号を取得します。
VoidConstPtr GetResponseBuffer( UInt32Ptr size = null )
応答バッファを取得します。
SFXAnsiString GetResponseText( Void )
応答テキストを取得します。
SFCError GetResponseText( SFXAnsiStringPtr result )
応答テキストを取得します。
SFCError GetRetrResponse( ACharConstHandle response )
GetRetrResponse( SFXAnsiStringPtr response )
RETR コマンドの応答を取得します。
Bool GetSSLMode( Void )
SSL 接続モードを取得します。
SFCError GetStatResponse( UInt32Ptr count = null , UInt32Ptr size = null )
STAT コマンドの応答を取得します。
SFCError GetTopResponse( ACharConstHandle response )
GetTopResponse( SFXAnsiStringPtr response )
TOP コマンドの応答を取得します。
UInt32 GetTrustMode( Void )
SSL 認証モードを取得します。
SFCError GetUidlResponse( NumberUidlRecHandle recHandle , SInt32Ptr recCount )
GetUidlResponse( NumberUidlRecPtr rec )
UIDL コマンドの応答を取得します。
Bool IsResponseErr( Void )
直前の POP3 コマンドの応答ステータスが "-ERR" であるかどうか判定します。
Bool IsResponseOk( Void )
直前の POP3 コマンドの応答ステータスが "+OK" であるかどうか判定します。
SFCError Open( Void )
POP3 サーバーに接続するための初期化を行います。
SFCError SendApopCommand( SFXAnsiStringConstRef user , SFXAnsiStringConstRef password , SFXAnsiStringConstRef challenge )
APOP コマンドを送信します。
SFCError SendCommand( ACharConstPtr command , UInt32 size , Bool multiline )
SendCommand( SFXAnsiStringConstRef command , Bool multiline )
POP3 コマンドを送信します。
SFCError SendDeleCommand( SInt32 number )
DELE コマンドを送信します。
SFCError SendListCommand( Void )
SendListCommand( SInt32 number )
LIST コマンドを送信します。
SFCError SendNoopCommand( Void )
NOOP コマンドを送信します。
SFCError SendPassCommand( SFXAnsiStringConstRef password )
PASS コマンドを送信します。
SFCError SendQuitCommand( Void )
QUIT コマンドを送信します。
SFCError SendRetrCommand( SInt32 number )
RETR コマンドを送信します。
SFCError SendRsetCommand( Void )
RSET コマンドを送信します。
SFCError SendStatCommand( Void )
STAT コマンドを送信します。
SFCError SendTopCommand( SInt32 number , UInt32 lines )
TOP コマンドを送信します。
SFCError SendUidlCommand( Void )
SendUidlCommand( SInt32 number )
UIDL コマンドを送ります。
SFCError SendUserCommand( SFXAnsiStringConstRef user )
USER コマンドを送信します。
Void SetSSLMode( Bool isSSL )
SSL 接続モードに設定します。
SFCError SetTrustMode( UInt32 sslTrustMode )
SSL 認証モードを設定します。
CallbackSPP
コールバック関数のプロトタイプです。
NumberSizeRec
GetListResponse 関数で結果を返すために使用される構造体です。
NumberUidlRec
SFXPOP3::GetUidlResponse 関数で結果を返すために使われる構造体です。

SFXPOP3::SFXPOP3
SFXPOP3 クラスのコンストラクタです。
[ public, explicit ]
SFXPOP3(Void);

解説

SFXPOP3 クラスのインスタンスを生成しただけでは、POP3 メール受信に必要なリソースは割り当てられていません。 SFXPOP3::Open 関数を呼び出すと、POP3 メール受信に必要なリソースが確保されます。

参照

SFXPOP3::Open


SFXPOP3::~SFXPOP3
SFXPOP3 クラスのデストラクタです。
[ public, virtual ]
~SFXPOP3(Void);

解説

SFXPOP3 クラスのインスタンスを破棄する前に、SFXPOP3::Close 関数を呼び出す必要があります。

参照

SFXPOP3::Close


SFXPOP3::Cancel
POP3 メール受信をキャンセルします。
[ public ]
Void Cancel(Void);

参照

SFXPOP3::Close


SFXPOP3::Close
POP3 サーバーとの接続を終了します。
[ public ]
Void Close(Void);

解説

通信中であれば通信がキャンセルされ、通信のためのリソースは解放されます。

  
[Note] POP3 サーバーとの接続の切断方法

SFXPOP3::SendQuitCommand 関数で QUIT コマンドを送信し、POP3 サーバーからの応答を確認してから、SFXPOP3::Close 関数で POP3 サーバーとの接続を切断します。

参照

SFXPOP3::SendQuitCommand | SFXPOP3::Connect


SFXPOP3::Connect
POP3 サーバーに接続します。
[ public ]
SFCError Connect(
    SFXSocketAddressConstRef address   // POP3 サーバーの IP アドレスとポート番号
    CallbackSPP spp                    // コールバック関数
    VoidPtr reference                  // コールバックへの引数
);

引数

endpoint

POP3 サーバーの IP アドレスとポート番号を指定します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • ソケットがオープンしていない、または、既に接続されている (処理中を含む)とき : SFERR_INVALID_STATE
  • POP3 サーバーの IP アドレスとポート番号が設定されていないとき : SFERR_INVALID_STATE
  • SFBNetMgr インスタンスの作成に失敗したとき : SFERR_FAILED
  • メモリ不足のとき : SFERR_NO_MEMORY
  • その他ネットワークエラーのとき : SFBSocket::GetLastError 関数で得られるエラー値

解説

[Caution] POP3 サーバーとの接続エラー

POP3 サーバーとの接続エラーはコールバック関数に通知されます。

参照

SFXPOP3::Open | SFXPOP3::Close


SFXPOP3::GetListResponse
LIST コマンドの応答を取得します。
[ public, const ]
SFCError GetListResponse(
    NumberSizeRecHandle recHandle   // メール メッセージ番号配列
    SInt32Ptr recCount              // メール メッセージ番号配列の要素数
);
[ public, const ]
SFCError GetListResponse(
    NumberSizeRecPtr rec   // メール メッセージ番号
);

引数

recHandle

POP3 サーバーが応答するメール メッセージの番号とサイズからなる構造体 SFXPOP3::NumberSizeRec の配列へのポインターを格納するためのハンドルです。 recHandle 配列は、呼び出し側が delete[] で破棄する必要があります。

recCount

POP3 サーバーが応答する recHandle 配列の要素数を格納するための変数へのポインターです。

rec

POP3 サーバーが応答するメール メッセージの番号とサイズからなる構造体 SFXPOP3::NumberSizeRec を格納するための変数へのポインターです。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき、または直前の POP3 コマンドの応答ステータスが "+OK" でないとき : SFERR_INVALID_STATE
  • レスポンスの解析に失敗したとき : SFERR_INVALID_FORMAT
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

LIST コマンドは、POP3 サーバーが応答するメール メッセージのサイズを取得するためのコマンドです。

SFXPOP3::SendListCommand 関数の引数の数によって、使う関数が異なります。

引数なしで SFXPOP3::SendListCommand 関数を呼んだとき

2 つの引数 recHandle と recCount を指定する必要があります。全てのメール メッセージの番号とサイズを取得します。

引数 1 つで SFXPOP3::SendListCommand 関数を呼んだとき

引数 rec のみ必要です。 SFXPOP3::SendListCommand 関数で指定したメール メッセージの番号のサイズを取得します。

これらが対応していないと、SFXPOP3::GetListResponse 関数は失敗し、SFERR_INVALID_FORMAT が返ります。 戻り値が SFERR_NO_ERROR 以外の場合、引数に設定される値は不定となります。

参照

SFXPOP3::SendListCommand | SFXPOP3::NumberSizeRec


SFXPOP3::GetLocalAddress
ローカルの IP アドレスとポート番号を取得します。
[ public, const ]
SFCError GetLocalAddress(
    SFXSocketAddressPtr result   // ローカルの IP アドレスとポート番号の格納先へのポインター
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 引数が null のとき : SFERR_INVALID_PARAM
  • その他ネットワークエラーのとき : SFBSocket::GetLastError 関数で得られるエラー値

解説

[Note] ローカルの IP アドレスの変化

POP3 サーバーとの接続前後で、ローカルの IP アドレスは変化する可能性があります。

参照

SFXInetAddress::LocalInetAddress | SFXTCPSocket::GetLocalAddress


SFXPOP3::GetRemoteAddress
リモートの IP アドレスとポート番号を取得します。
[ public, const ]
SFCError GetRemoteAddress(
    SFXSocketAddressPtr result   // リモートの IP アドレスとポート番号の格納先へのポインター
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 引数が null のとき : SFERR_INVALID_PARAM

解説

[Note] リモートの IP アドレスの変化

POP3 サーバーとの接続の前後で、リモートの IP アドレスは変化する可能性があります。

参照

SFXTCPSocket::GetRemoteAddress


SFXPOP3::GetResponseBuffer
応答バッファを取得します。
[ public, const ]
VoidConstPtr GetResponseBuffer(
    UInt32Ptr size = null   // バッファのサイズ
);

引数

size

POP3 サーバーが応答するバッファのサイズを格納する変数へのポインターです。取得する必要がない場合、null を指定します。

解説

バッファの先頭には、POP3 サーバーの応答 ( "+OK" または "-ERR" ) と、追加メッセージが入っています。

単一行の応答のとき、バッファには "\r\n" は含まれていません。

複数行の応答のとき、バッファには最終行の ".\r\n" は含まれません。また、行頭のピリオドは削除して返します。

取得したバッファは、状態が変わらない限り有効です。 何らかのコマンドを送ったり、SFXPOP3::Close 関数を呼び出すと、状態は変更されバッファは無効になります。

参照

SFXPOP3::GetResponseText


SFXPOP3::GetResponseText
応答テキストを取得します。
[ public, const ]
SFXAnsiString GetResponseText(Void);
[ public, const ]
SFCError GetResponseText(
    SFXAnsiStringPtr result   // POP3 サーバーから取得した応答テキストへのポインター
);

引数

result

POP3 サーバーから取得した応答テキストへのポインターです。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 応答メッセージの受信に失敗したとき : SFERR_FAILED
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

単一行の応答のとき、バッファには "\r\n" は含まれません。

複数行の応答のとき、バッファには最終行の ".\r\n" は含まれません。また、行頭のピリオドは削除して返します。

[Note] 応答テキストとは

POP3 サーバーからの応答メッセージから、最初のステータス文字列 ( "+OK" または "-ERR" )とそれに続く空白文字が削除されたテキストのことです。

参照

SFXPOP3::GetResponseBuffer


SFXPOP3::GetRetrResponse
RETR コマンドの応答を取得します。
[ public, const ]
SFCError GetRetrResponse(
    ACharConstHandle response   // RETR コマンドの応答へのポインターを格納するためのハンドル
);
[ public, const ]
SFCError GetRetrResponse(
    SFXAnsiStringPtr response   // RETR コマンドの応答へのポインター
);

引数

response

RETR コマンドの応答へのポインターを格納するためのハンドル、または RETR コマンドの応答へのポインターです。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき、または直前の POP3 コマンドの応答ステータスが "+OK" でないとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

RETR コマンドは、メール メッセージを取得するためのコマンドです。

単一行の応答のとき、バッファには "\r\n" は含まれていません。

複数行の応答のとき、バッファには最終行の ".\r\n" は含まれません。また、行頭のピリオドは削除して返します。

[Note] 注意
ACharConstHandle 型の response 引数の戻り値は、SFXPOP3 クラスの内部クラスのバッファへのポインターです。呼び出し側では、このバッファを解放してはいけません。

参照

SFXPOP3::SendRetrCommand


SFXPOP3::GetSSLMode
SSL 接続モードを取得します。
[ public, const ]
Bool GetSSLMode(Void);

戻り値

  • 有効なとき : true
  • 無効なとき : false

参照

SFXPOP3::SetSSLMode


SFXPOP3::GetStatResponse
STAT コマンドの応答を取得します。
[ public, const ]
SFCError GetStatResponse(
    UInt32Ptr count = null   // メール メッセージ数
    UInt32Ptr size = null    // メール メッセージの全サイズ
);

引数

count

メール メッセージの数を格納する変数へのポインターです。 取得する必要がない場合、null を指定します。

size

全てのメール メッセージの合計サイズを格納する変数へのポインターです。 取得する必要がない場合、null を指定します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき、または直前の POP3 コマンドの応答ステータスが "+OK" でないとき : SFERR_INVALID_STATE
  • レスポンスの解析に失敗したとき : SFERR_INVALID_FORMAT

解説

STAT コマンドは、メール メッセージの数とサイズを取得するためのコマンドです。

参照

SFXPOP3::SendStatCommand


SFXPOP3::GetTopResponse
TOP コマンドの応答を取得します。
[ public, const ]
SFCError GetTopResponse(
    ACharConstHandle response   // TOP コマンドの応答へのポインター( ハンドル )
);
[ public, const ]
SFCError GetTopResponse(
    SFXAnsiStringPtr response   // TOP コマンドの応答へのポインター
);

引数

response

TOP コマンドの応答へのポインターです。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき、または直前の POP3 コマンドの応答ステータスが "+OK" でないとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

TOP コマンドは、メール メッセージのヘッダーと本文の一部を取得するためのコマンドです。

参照

SFXPOP3::SendTopCommand


SFXPOP3::GetTrustMode
SSL 認証モードを取得します。
[ public, const ]
UInt32 GetTrustMode(Void);

参照

SFXPOP3::SetTrustMode


SFXPOP3::GetUidlResponse
UIDL コマンドの応答を取得します。
[ public, const ]
SFCError GetUidlResponse(
    NumberUidlRecHandle recHandle   // メッセージ番号と UIDL の配列
    SInt32Ptr recCount              // 配列の要素数
);
[ public, const ]
SFCError GetUidlResponse(
    NumberUidlRecPtr rec   // メッセージ番号と UIDL
);

引数

recHandle

メール メッセージの番号と UIDL からなる構造体 SFXPOP3::NumberUidlRec の配列を返します。 recHandle は delete[] で破棄する必要があります。

recCount

recHandle 配列の要素数を返します。

rec

メール メッセージの番号と UIDL からなる構造体 SFXPOP3::NumberUidlRecへのポインターを返します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき、または直前の POP3 コマンドの応答ステータスが "+OK" でないとき : SFERR_INVALID_STATE
  • UIDL コマンド応答の解析に失敗したとき : SFERR_INVALID_FORMAT
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

UIDL コマンドは、メール メッセージの UIDL を取得するためのコマンドです。

SFXPOP3::SendUidlCommand 関数の引数の数によって、使う関数が異なります。

引数なしで SFXPOP3::SendUidlCommand 関数を呼んだとき

2 つの引数 recHandle と recCount が必要です。全てのメール メッセージの番号と UIDL を取得します。

引数 1 つで SFXPOP3::SendUidlCommand 関数を呼んだとき

引数 rec のみ必要です。 SFXPOP3::SendUidlCommand 関数で指定したメール メッセージの番号の UIDL を取得します。

これらが対応していないと、SFXPOP3::GetUidlResponse 関数は失敗し、SFERR_INVALID_FORMAT を返します。 戻り値が SFERR_NO_ERROR 以外の場合、引数の値は不定となります。

参照

SFXPOP3::SendUidlCommand | SFXPOP3::NumberUidlRec


SFXPOP3::IsResponseErr
直前の POP3 コマンドの応答ステータスが "-ERR" であるかどうか判定します。
[ public, const ]
Bool IsResponseErr(Void);

戻り値

  • "-ERR" であるとき : true
  • "-ERR" でないとき : false

参照

SFXPOP3::IsResponseOk


SFXPOP3::IsResponseOk
直前の POP3 コマンドの応答ステータスが "+OK" であるかどうか判定します。
[ public, const ]
Bool IsResponseOk(Void);

戻り値

  • "+OK" であるとき : true
  • "+OK" でないとき : false

参照

SFXPOP3::IsResponseErr


SFXPOP3::Open
POP3 サーバーに接続するための初期化を行います。
[ public ]
SFCError Open(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • ソケットが既にオープンしているとき : SFERR_INVALID_STATE
  • SFBNetMgr クラス、もしくは SFBSSL クラスのインスタンスの生成に失敗したとき : SFERR_FAILED
  • 失敗したとき : AEE_NET_ERROR

解説

内部で SFXTCPSocket クラスの SFXTCPSocket::Open 関数を呼び出します。

参照

SFXPOP3::Close


SFXPOP3::SendApopCommand
APOP コマンドを送信します。
[ public ]
SFCError SendApopCommand(
    SFXAnsiStringConstRef user        // ユーザー名
    SFXAnsiStringConstRef password    // パスワード
    SFXAnsiStringConstRef challenge   // チャレンジ コード
);

引数

user

ユーザー名です。

password

パスワードです。

challenge

APOP 認証のためのチャレンジ コードです。 EHLO コマンドの応答に含まれる、 < > で囲まれた文字列 ('<' や '>' 自身も含む)を渡します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

APOP コマンドは、APOP 認証のためのコマンドです。

SFXPOP3::SendApopCommand 関数は、SFXPOP3::Connect 関数で POP3 サーバーに接続した直後に呼び出します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendCommand
POP3 コマンドを送信します。
[ public ]
SFCError SendCommand(
    ACharConstPtr command   // POP3  コマンド文字列
    UInt32 size             // POP3  コマンド文字列のサイズ
    Bool multiline          // 複数行応答の POP3 コマンドかどうか
);
[ public ]
SFCError SendCommand(
    SFXAnsiStringConstRef command   //  POP3 コマンド文字列
    Bool multiline                  // 複数行応答の POP3 コマンドかどうか
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

POP3 コマンドの最後に "\r\n" を付加する必要があります。単一行または複数行の応答のコマンドであるかどうかは、引数で指定します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::SendApopCommand | SFXPOP3::SendDeleCommand | SFXPOP3::SendListCommand | SFXPOP3::SendNoopCommand | SFXPOP3::SendPassCommand | SFXPOP3::SendQuitCommand | SFXPOP3::SendRetrCommand | SFXPOP3::SendRsetCommand | SFXPOP3::SendStatCommand | SFXPOP3::SendTopCommand | SFXPOP3::SendUidlCommand | SFXPOP3::SendUserCommand | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendDeleCommand
DELE コマンドを送信します。
[ public ]
SFCError SendDeleCommand(
    SInt32 number   // メッセージ番号
);

引数

number

削除するメール メッセージの番号です。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

DELE コマンドは、メール メッセージを削除するためのコマンドです。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendListCommand
LIST コマンドを送信します。
[ public ]
SFCError SendListCommand(Void);
[ public ]
SFCError SendListCommand(
    SInt32 number   // メール メッセージ 番号
);

引数

number

サイズを取得するメール メッセージの番号です。 1 以上でなくてはなりません。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • number が 0 以下のとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

LIST コマンドは、メール メッセージのサイズを取得するためのコマンドです。

全てのメール メッセージのサイズを取得するには、引数なしで SFXPOP3::SendListCommand 関数を呼び出します。 特定のメール メッセージのサイズを取得するには、引数にそのメール メッセージ番号を指定します。 LIST コマンドの結果は、SFXPOP3::GetListResponse 関数で取得します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::GetListResponse | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendNoopCommand
NOOP コマンドを送信します。
[ public ]
SFCError SendNoopCommand(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

NOOP コマンドは、POP3 サーバーとの接続チェックをするためのコマンドです。

POP3 サーバーは NOOP コマンドを受け取ると、応答メッセージだけを返します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendPassCommand
PASS コマンドを送信します。
[ public ]
SFCError SendPassCommand(
    SFXAnsiStringConstRef password   // パスワード
);

引数

password

パスワードです。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

PASS コマンドは、パスワードを設定するためのコマンドです。

SFXPOP3::SendPassCommand 関数は、SFXPOP3::SendUserCommand 関数でユーザー名を送信した直後に呼び出します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendQuitCommand
QUIT コマンドを送信します。
[ public ]
SFCError SendQuitCommand(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

QUIT コマンドは、POP3 メール受信のセッションを終了するためのコマンドです。

[Note] POP3 メール受信のセッションの終了

SFXPOP3::SendQuitCommand 関数で QUIT コマンドを POP3 サーバーに送信して、その応答を確認してから、SFXPOP3::Close 関数を呼び出して POP3 サーバーとの接続を切断します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::Close | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendRetrCommand
RETR コマンドを送信します。
[ public ]
SFCError SendRetrCommand(
    SInt32 number   // メッセージ番号
);

引数

number

取得するメールのメッセージ番号です。 1 以上でなくてはなりません。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • number が 0 以下のとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

RETR コマンドは、メール メッセージを取得するためのコマンドです。

RETR コマンドの結果は、SFXPOP3::GetRetrResponse 関数で取得します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::GetRetrResponse | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendRsetCommand
RSET コマンドを送信します。
[ public ]
SFCError SendRsetCommand(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

RSET コマンドは、POP3 メール受信のセッションをリセットするためのコマンドです。

SFXPOP3::SendUserCommand 関数、SFXPOP3::SendPassCommand 関数の結果は破棄され、POP3 サーバーに接続したときの初期状態になります。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendStatCommand
STAT コマンドを送信します。
[ public ]
SFCError SendStatCommand(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

STAT コマンドは、メール メッセージの数とサイズを取得するためのコマンドです。

STAT コマンドの結果は、SFXPOP3::GetStatResponse 関数で取得します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::GetStatResponse | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendTopCommand
TOP コマンドを送信します。
[ public ]
SFCError SendTopCommand(
    SInt32 number   // メッセージ番号
    UInt32 lines    // 行数
);

引数

number

取得するメール メッセージの番号です。 1 以上の整数でなくてはなりません。

lines

取得する本文の行数です。 0を指定するとヘッダーのみの取得となります。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • number が 0 以下のとき、または引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

TOP コマンドは、メール メッセージのヘッダーと本文の一部を取得するためのコマンドです。

TOP コマンドの結果は、SFXPOP3::GetTopResponse 関数で取得します。

[Caution] 通信エラー/コマンドエラーの取得

戻り値として返すのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかは、SFXPOP3::IsResponseOk 関数、SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::GetTopResponse | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendUidlCommand
UIDL コマンドを送ります。
[ public ]
SFCError SendUidlCommand(Void);
[ public ]
SFCError SendUidlCommand(
    SInt32 number   // メール メッセージの番号
);

引数

number

取得するメール メッセージの番号です。 1 以上の整数でなくてはなりません。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • number が 0 以下のとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

UIDL コマンドは、メール メッセージの UIDL を取得するためのコマンドです。

全メールの UIDL を取得する場合は、引数なしで SFXPOP3::SendUidlCommand 関数を呼び出します。 特定のメールの UIDL を取得する場合は、引数にメール メッセージ番号を指定します。 UIDL コマンドの結果は、SFXPOP3::GetUidlResponse 関数で取得します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::GetUidlResponse | SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SendUserCommand
USER コマンドを送信します。
[ public ]
SFCError SendUserCommand(
    SFXAnsiStringConstRef user   // ユーザー名
);

引数

user

ユーザー名です。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

USER コマンドは、ユーザー名を設定するためのコマンドです。

SFXPOP3::SendUserCommand 関数は、SFXPOP3::Connect 関数で POP3 サーバーに接続してから呼び出します。

[Caution] 通信エラー / コマンド エラーの取得

戻り値として返るのは、内部処理でのエラーだけです。

通信エラーなどは SFXPOP3::Connect 関数で指定したコールバック関数に通知されます。

コマンドが成功したかどうかは、SFXPOP3::IsResponseOk 関数、または SFXPOP3::IsResponseErr 関数を使って判定します。

参照

SFXPOP3::IsResponseOk | SFXPOP3::IsResponseErr | SFXPOP3::Connect


SFXPOP3::SetSSLMode
SSL 接続モードに設定します。
[ public ]
Void SetSSLMode(
    Bool isSSL   // SSL 接続モードかどうか
);

解説

POP3 サーバーとの接続を SSL 接続モードにするには、isSSL 引数を true に設定します。


SFXPOP3::SetTrustMode
SSL 認証モードを設定します。
[ public ]
SFCError SetTrustMode(
    UInt32 sslTrustMode   // SSL 認証モード
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • ソケットが閉じているとき : SFERR_INVALID_STATE

参照

SFXSSLSocket::SetTrustMode


SFXPOP3::CallbackSPP
コールバック関数のプロトタイプです。
typedef Void(* SFXPOP3::CallbackSPP)(SFCError error, VoidPtr data)

解説

SFXPOP3 クラスで使うコールバック関数です。 SFXPOP3::Connect 関数で指定します。 メール受信処理の結果は、このコールバック関数に通知されます。

第 1 引数にエラーコード、第 2 引数は SFXPOP3::Connect 関数で指定した引数 ( 一般に SFXPOP3 クラスのインスタンス ) が渡されます。

参照

SFXPOP3::CallbackSPP | SFXPOP3::Connect


SFXPOP3::NumberSizeRec
GetListResponse 関数で結果を返すために使用される構造体です。
SFMTYPEDEFSTRUCT(NumberSizeRec)
struct NumberSizeRec {
    SInt32  number;
    UInt32  size;
};

解説

SFXPOP3::GetListResponse 関数で結果を返すために使う構造体です。 number はメール メッセージ の番号を示し、size はメッセージのサイズ ( オクテット数 ) を表します。

参照

SFXPOP3::GetListResponse


SFXPOP3::NumberUidlRec
SFXPOP3::GetUidlResponse 関数で結果を返すために使われる構造体です。
SFMTYPEDEFSTRUCT(NumberUidlRec)
struct NumberUidlRec {
    SInt32          number;
    SFXAnsiString   uidl;
};

解説

SFXPOP3::GetUidlResponse 関数で結果を返すために使われる構造体です。 number はメール メッセージの番号、uidl はメッセージの UIDL を表します。

参照

SFXPOP3::GetUidlResponse