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

協調図

SFXSMTP クラスの協調図

解説

SMTP メール送信の手順

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

※ HELO や EHLO などのコマンドの場合、送信用に SFXSMTP::SendHeloCommand 関数、SFXSMTP::SendEhloCommand 関数、 応答用に SFXSMTP::GetHeloResponse 関数、SFXSMTP::GetEhloResponse 関数などが特別に用意されています。

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

SMTP の仕様 : RFC2821 ( Simple Mail Transfer Protocol )

参照

SFXSMTPSender | SFXPOP3 | SFXPOP3Receiver | メール送信

メンバ

コンストラクタ/デストラクタ
SFXSMTP( Void )
SFXSMTP クラスのコンストラクタです。
~SFXSMTP( Void )
SFXSMTP クラスのデストラクタです。
パブリック関数
Void Cancel( Void )
SMTP メール送信をキャンセルします。
Void Close( Void )
SMTP サーバーとの接続を終了します。
SFCError Connect( SFXSocketAddressConstRef address , CallbackSPP spp , VoidPtr reference )
SMTP サーバーに接続します。
SFCError GetEhloResponse( SFXAnsiStringPtr domain , SFXAnsiStringPtr greet , SFXAnsiStringHandle extList , UInt32Ptr extCount )
EHLO コマンドの応答を取得します。
SFCError GetHeloResponse( SFXAnsiStringPtr domain , SFXAnsiStringPtr greet )
HELO コマンドの応答を取得します。
SFCError GetLocalAddress( SFXSocketAddressPtr result )
ローカルの IP アドレスとポート番号を取得します。
SFCError GetRemoteAddress( SFXSocketAddressPtr result )
リモートの IP アドレスとポート番号を取得します。
SInt32 GetResponseCode( Void )
応答コードを取得します。
SFXAnsiString GetResponseText( Void )
応答テキストを取得します。
SFCError GetResponseText( SFXAnsiStringPtr result )
応答テキストを取得します。
Bool GetSSLMode( Void )
SSL 接続モードを取得します。
UInt32 GetTrustMode( Void )
SSL 認証モードを取得します。
SFCError Open( Void )
SMTP サーバーに接続するための初期化を行います。
SFCError SendAuthCommand( AuthEnum auth )
AUTH コマンドを送信します。
SFCError SendAuthResponse( SFXAnsiStringConstRef str1 , SFXAnsiStringConstRef str2 = SFXAnsiString::EmptyInstance() , SFXAnsiStringConstRef str3 = SFXAnsiString::EmptyInstance() )
AUTH コマンドの応答に対する返答を送信します。
SFCError SendCommand( ACharConstPtr command , UInt32 size )
SendCommand( SFXAnsiStringConstRef command )
SMTP コマンドを送信します。
SFCError SendDataCommand( Void )
DATA コマンドを送信します。
SFCError SendDataText( SFXAnsiStringConstRef text )
メール テキストを送信します。
SFCError SendEhloCommand( SFXAnsiStringConstRef hostName )
ELHO コマンドを送信します。
SFCError SendHeloCommand( SFXAnsiStringConstRef hostName )
HELO コマンドを送信します。
SFCError SendMailCommand( SFXAnsiStringConstRef from )
MAIL コマンドを送信します。
SFCError SendNoopCommand( Void )
NOOP コマンドを送信します。
SFCError SendQuitCommand( Void )
QUIT コマンドを送信します。
SFCError SendRcptCommand( SFXAnsiStringConstRef to )
RCPT コマンドを送信します。
SFCError SendRsetCommand( Void )
RSET コマンドを送信します。
Void SetSSLMode( Bool isSSL )
SSL 接続モードに設定します。
SFCError SetTrustMode( UInt32 sslTrustMode )
SSL 認証モードを設定します。
AuthEnum
SMTP 認証方式を表す定数です。
CallbackSPP
コールバック関数のプロトタイプです。

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

解説

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

参照

SFXSMTP::Open


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

解説

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

参照

SFXSMTP::Close


SFXSMTP::Cancel
SMTP メール送信をキャンセルします。
[ public ]
Void Cancel(Void);

解説

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

参照

SFXSMTP::Close


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

解説

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

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

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

参照

SFXSMTP::SendQuitCommand | SFXSMTP::Connect


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

引数

address

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

戻り値

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

解説

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

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

参照

SFXSMTP::Open | SFXSMTP::Close


SFXSMTP::GetEhloResponse
EHLO コマンドの応答を取得します。
[ public, const ]
SFCError GetEhloResponse(
    SFXAnsiStringPtr domain       // ドメイン名
    SFXAnsiStringPtr greet        // グリーティング メッセージ
    SFXAnsiStringHandle extList   // 拡張コマンド
    UInt32Ptr extCount            // 拡張コマンドの数
);

引数

domain

SMTP サーバーが応答するドメイン名が格納される変数へのポインタです。 取得する必要がない場合、null を指定します。

greet

SMTP サーバーが応答するグリーティング メッセージが格納される変数へのポインタです。 取得する必要がない場合、null を指定します。

extList

SMTP サーバーが応答する拡張コマンドのリストへのポインタを格納するハンドルです。 SFXAnsiString の配列が渡されます。 配列は、呼び出し側が delete[] で解放する必要があります。 取得する必要がない場合、null を指定します。

extCount

SMTP サーバーが応答する拡張コマンドの数が格納される変数へのポインタです。 取得する必要がない場合、null を指定します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 応答コードが 250 でないとき : SFERR_FAILED
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

ELHO コマンドは、SMTP メール送信のセッションを開始するためのコマンドです。

>SFXSMTP::GetEhloResponse 関数は、SFXSMTP::SendEhloCommand 関数によって送信される ELHO コマンドの応答を取得します。

参照

SFXSMTP::SendEhloCommand


SFXSMTP::GetHeloResponse
HELO コマンドの応答を取得します。
[ public, const ]
SFCError GetHeloResponse(
    SFXAnsiStringPtr domain   // ドメイン名
    SFXAnsiStringPtr greet    // グリーティング メッセージ
);

引数

domain

SMTP サーバーが応答するドメイン名が格納される変数へのポインタです。 取得する必要がない場合は、null を指定します。

greet

SMTP サーバーが応答するグリーティング メッセージが格納される変数へのポインタです。 取得する必要がない場合は、null を指定します。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • 応答コードが 250 でないとき : SFERR_FAILED
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

HELO コマンドは、SMTP メール送信のセッションを開始するためのコマンドです。

SFXSMTP::GetHeloResponse 関数は、SFXSMTP::SendHeloCommand 関数によって送信される HELO コマンドの応答を取得します。

参照

SFXSMTP::SendHeloCommand


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

戻り値

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

解説

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

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

参照

SFXInetAddress::LocalInetAddress | SFXTCPSocket::GetLocalAddress


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

戻り値

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

解説

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

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

参照

SFXTCPSocket::GetRemoteAddress


SFXSMTP::GetResponseCode
応答コードを取得します。
[ public, const ]
SInt32 GetResponseCode(Void);

戻り値

10 進数 3 桁の応答コードを返します。

解説

SMTP コマンドの応答コードに関する詳細情報 : RFC2821 ( Simple Mail Transfer Protocol )

参照

SFXSMTP::GetResponseText | SFXSMTP::SendCommand


SFXSMTP::GetResponseText
応答テキストを取得します。
[ public, const ]
SFXAnsiString GetResponseText(Void);
[ public, const ]
SFCError GetResponseText(
    SFXAnsiStringPtr result   // 応答テキストの格納先へのポインタ
);

引数

result

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

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 接続が確立されていないとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY

解説

[Note] 応答テキストとは

SMTP サーバーからの応答メッセージから、行頭の応答コードとそれに続く空白文字またはハイフン("-")が削除されたテキストのことです。

参照

SFXSMTP::GetResponseCode | SFXSMTP::SendCommand


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

戻り値

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

参照

SFXSMTP::SetSSLMode


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

参照

SFXSMTP::SetTrustMode


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

戻り値

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

解説

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

参照

SFXSMTP::Close


SFXSMTP::SendAuthCommand
AUTH コマンドを送信します。
[ public ]
SFCError SendAuthCommand(
    AuthEnum auth   // 認証方式
);

引数

auth

認証方式を指定します。

戻り値

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

解説

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

EHLO コマンドの応答を受信してから、AUTH コマンドを SMTP サーバーに送ります。 利用可能な認証方式は、PLAIN、LOGIN、CRAM-MD5 です。

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

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

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

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

使用例

CRAM-MD5 認証を行います。

smtp.SendAuthCommand(SFXSMTP::AUTH_CRAM_MD5);

参照

SFXSMTP::SendAuthResponse | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendAuthResponse
AUTH コマンドの応答に対する返答を送信します。
[ public ]
SFCError SendAuthResponse(
    SFXAnsiStringConstRef str1                                    // 文字列 1 ( 認証方式によって異なります )
    SFXAnsiStringConstRef str2 = SFXAnsiString::EmptyInstance()   // 文字列 2 ( 認証方式によって異なります )
    SFXAnsiStringConstRef str3 = SFXAnsiString::EmptyInstance()   // 文字列 3 ( 認証方式によって異なります )
);

戻り値

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

解説

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

AUTH コマンドを SFXSMTP::SendAuthCommand 関数で送信した後、SMTP サーバーからの応答に対して返答を送ります。 ( ※ 認証方式によって、引数が異なります。)

PLAIN の場合

  1. str1 : ユーザー名
  2. str2 : パスワード
  3. str3 : 使用しません

LOGINの場合 : 1回目にSendAuthResponse(user)を実行します。SMTP サーバーから応答があった後、 2回目にSendAuthResponse(password)を実行します。

CRAM-MD5 の場合

  1. str1 : ユーザー名
  2. str2 : パスワード
  3. str3 : チャレンジ コード( SMTP サーバーから返ってきたテキスト )

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

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

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

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

使用例

CRAM-MD5 認証を行います。

smtp.SendAuthResponse("user", "password", smtp.GetResponseText());

参照

SFXSMTP::SendAuthResponse | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendCommand
SMTP コマンドを送信します。
[ public ]
SFCError SendCommand(
    ACharConstPtr command   // SMTP コマンド
    UInt32 size             // SMTP コマンドの長さ
);
[ public ]
SFCError SendCommand(
    SFXAnsiStringConstRef command   // SMTP コマンド
);

引数

command

SMTP サーバーに送る SMTP コマンドです。

戻り値

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

解説

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendDataCommand
DATA コマンドを送信します。
[ public ]
SFCError SendDataCommand(Void);

戻り値

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

解説

DATA コマンドは、メール本文を送信する直前に送信するコマンドです。

SMTP サーバーがこのコマンドを受け取ると、応答コードとして、メール本文の送信を促す 354 を返します。 そして SFXSMTP::SendDataText 関数を使ってメール本文を送信します。

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

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

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

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

参照

SFXSMTP::SendDataText | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendDataText
メール テキストを送信します。
[ public ]
SFCError SendDataText(
    SFXAnsiStringConstRef text   // メール
);

引数

text

メールの本文です。

戻り値

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

解説

メールヘッダーとメール本文からなるメール テキストを送信します。 メールヘッダーには、送信元ホスト名、送信元メール アドレス、送信先メール アドレスなどの情報が含まれます。

SFXSMTP::SendDataCommand 関数が成功した直後に送る必要があります。

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

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

通信エラーなどは SFXSMTP::Connect 関数で指定したコールバック関数で取得します。

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

参照

SFXSMTP::SendDataCommand | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendEhloCommand
ELHO コマンドを送信します。
[ public ]
SFCError SendEhloCommand(
    SFXAnsiStringConstRef hostName   // ホスト名
);

引数

hostName

接続するクライアントのホスト名です。

戻り値

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

解説

ELHO コマンドは、SMTP メール送信のセッションを開始するためのコマンドです。

応答メッセージは SFXSMTP::GetEhloResponse 関数で取得します。

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

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

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

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

参照

SFXSMTP::GetEhloResponse | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendHeloCommand
HELO コマンドを送信します。
[ public ]
SFCError SendHeloCommand(
    SFXAnsiStringConstRef hostName   // ホスト名
);

引数

hostName

接続するクライアントのホスト名です。

戻り値

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

解説

HELO コマンドは、SMTP メール送信のセッションを開始するためのコマンドです。

応答メッセージは SFXSMTP::GetHeloResponse 関数で取得します。 HELO コマンドは古いサーバーとの互換性のために用意されており、使用は推奨されていません。 通常は ELHO コマンド ( SFXSMTP::SendEhloCommand 関数 )を使います。

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

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

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

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

参照

SFXSMTP::SendEhloCommand | SFXSMTP::GetHeloResponse | SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendMailCommand
MAIL コマンドを送信します。
[ public ]
SFCError SendMailCommand(
    SFXAnsiStringConstRef from   // 送信元アドレス
);

引数

from

メールの送信元アドレスです。<> で囲む必要があります。

戻り値

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

解説

MAIL コマンドは、メールメッセージの送信元アドレスを設定するためのコマンドです。

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


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

戻り値

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

解説

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

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

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


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

戻り値

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

解説

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

[Note] SMTP サーバーとの接続の切断

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

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


SFXSMTP::SendRcptCommand
RCPT コマンドを送信します。
[ public ]
SFCError SendRcptCommand(
    SFXAnsiStringConstRef to   // 送信先アドレス
);

引数

to

メールの送信先アドレスです。<> で囲む必要があります。

戻り値

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

解説

RCPT コマンドは、メールメッセージの送信先を設定するためのコマンドです。

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


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

戻り値

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

解説

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

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

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

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

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

参照

SFXSMTP::GetResponseCode | SFXSMTP::GetResponseText | SFXSMTP::Connect


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

解説

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


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

戻り値

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

参照

SFXSSLSocket::SetTrustMode


SFXSMTP::AuthEnum
SMTP 認証方式を表す定数です。
enum AuthEnum {
    AUTH_NONE,
    AUTH_PLAIN,
    AUTH_LOGIN,
    AUTH_CRAM_MD5,
    AUTH_DIGEST_MD5
};

解説

SMTP 認証方式は、SFXSMTPSender::SetAuthorization 関数を使って下記の定数で指定します。

AUTH_NONE

SMTP 認証を使わないことを表します。

AUTH_PLAIN

PLAIN 認証を表します。

AUTH_LOGIN

LOGIN 認証を表します。

AUTH_CRAM_MD5

CRAM-MD5 認証を表します。

AUTH_DIGEST_MD5

DIGEST-MD5 認証を表します。( 現在のバージョンでは、サポートされていません。)

参照

SFXSMTPSender::SetAuthorization


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

解説

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

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

参照

SFXSMTP::Connect