●AS-SMTPオンラインマニュアル
|
- 基本的なメール送信プログラム手順
- プロパティ
- メソッド(データ作成系)
- メソッド(SMTPコマンド系)
- メソッド(その他)
- イベント
- エラーコード
- SMTP応答コード
|
1. 基本的なメール送信プログラム手順
|
・オブジェクトのインスタンスを生成します。
-------------------------------------------------------------
(例:VB/VBAの場合)
Set objSmtp = CreateObject("ASLib.SMTP")
Set objSmtp = New ASLib.SMTP
(例:ASP VBScriptの場合)
Set objSmtp = Server.CreateObject("ASLib.SMTP")
(例:ASP JScriptの場合)
var objSmtp = new ActiveXObject('ASLib.SMTP');
(例:WSH VBScriptの場合)
Set objSmtp = WScript.CreateObject("ASLib.SMTP")
(例:WSH JScriptの場合)
var objSmtp = WScript.CreateObject('ASLib.SMTP');
-------------------------------------------------------------
・プロパティを設定し、メール送信のためのパラメータを設定します。
-------------------------------------------------------------
(例:VBScriptでTypeプロパティをHTMLメールにする場合)
objSmtp.Type = 1
-------------------------------------------------------------
・データ作成系メソッド(Make〜,Add〜)を呼び出し、送信メールデータを作成します。
-------------------------------------------------------------
(例:VBScriptでMakeSubjectメソッドを呼び出す場合)
Dim iret
iret = objSmtp.MakeSubject('メール題名')
-------------------------------------------------------------
・SMTPコマンド系メソッドを順次呼び出し、メール送信を行います。
※通常は、Connect→HELO→MAIL→RCPT→DATA→QUITの順に呼び出します。
※非同期の場合にはOnCommandFinishイベントでコマンドの終了が通知されます。
-------------------------------------------------------------
(例:VBScriptでHELOメソッドを呼び出す場合)
Dim iret
iret = objSmtp.HELO('MyHostname')
-------------------------------------------------------------
・オブジェクトの解放が必要な場合は解放します。
-------------------------------------------------------------
(例:VBScriptの場合)
Set objSmtp = Nothing
-------------------------------------------------------------
|
2. プロパティ
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
25
|
|
説明
|
送信に使用するSMTPサーバのポート番号を指定します。
|
|
使用例
|
objSmtp.Port = 25
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
0(テキストメール)
|
|
説明
|
送信メール本文をテキストメールとして送信するか、HTMLメールとして送信するかを指定します。
0:テキストメール
1:HTMLメール
※上記以外を指定した場合にはテキストメールとして送信します。
|
|
使用例
|
(HTMLメールとして送信)
objSmtp.Type = 1
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
2(BASE64)
|
|
説明
|
添付ファイルのエンコード方法を指定します。
1:7BitJIS
2:BASE64
3:Quoted-Printable
※上記以外を指定した場合にはBASE64でエンコードします。
|
|
使用例
|
(添付ファイルを7BitJISでエンコード)
objSmtp.Encode = 1
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
0(RFCの上限値まで改行なし)
|
|
説明
|
メール本文の1行文字数を指定します。(この文字数で強制改行されます)
0を指定した場合には、998文字(RFCの上限)まで改行されません。
|
|
使用例
|
(76文字で強制改行する)
objSmtp.Width = 76
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
20(20秒)
|
|
説明
|
SMTPサーバ通信時のタイムアウト秒数を指定します。
|
|
使用例
|
(通信タイムアウトを40秒とする)
objSmtp.RecvTimeout = 40
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
0(同期モード)
|
|
説明
|
SMTPサーバ通信の同期/非同期を指定します。
0:同期モード
1:非同期モード
※同期の場合は対応するメッセージをサーバから受信するまで戻りませんが、非同期の場合はすぐに処理が戻ります。
※非同期の場合は対応するメッセージを受信するとOnCommandFinishイベントが発生します。ASPなどイベント非対応のプラットフォームの場合は同期モードで使用してください。
|
|
使用例
|
(SMTPサーバとの通信を非同期モードにする)
objSmtp.Sync = 1
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
3(通常)
|
|
説明
|
メッセージの重要度を設定します。(X-Priorityヘッダに記述される)
1(重要度高)〜5(重要度低)(
※1〜5以外の値の場合は設定しません。
|
|
使用例
|
(メッセージの重要度を最重要にする)
objSmtp.Priority = 1
|
|
|
データ型
|
(VC)BSTR
(VB)String
|
|
既定値
|
なし
|
|
説明
|
SMTP認証を使用する際のユーザアカウントを指定します。
※LOGINメソッドで使用します。
|
|
使用例
|
(SMTP認証用のアカウントを"Username"に設定する)
objSmtp.SMTPUser = "Username"
|
|
|
データ型
|
(VC)BSTR
(VB)String
|
|
既定値
|
なし
|
|
説明
|
SMTP認証を使用する際のパスワードを指定します。
※LOGINメソッドで使用します。
|
|
使用例
|
(SMTP認証用のパスワードを"Password"に設定する)
objSmtp.SMTPUser = "Password"
|
|
|
データ型
|
(VC)VARIANT
(VB)Variant
|
|
既定値
|
なし
|
|
説明
|
直前に送信したメールデータを取得します。
※取得のみ可能。(設定不可)
※送信データはUnicodeでなくJISコードで取得します。(送信メールデータそのまま)。
|
|
使用例
|
(VB:送信メールデータをUnicodeに変換して取得する)
strMaildata = StrConv(objSmtp.MailData, vbUnicode)
※この使用例はVBScriptでは動作しません。
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
なし
|
|
説明
|
SMTPサーバからの有効行メッセージからメッセージコードを取得します。
※取得のみ可能。(設定不可)
|
|
使用例
|
(SMTPサーバからのメッセージコードを取得する)
intRetCode = objSmtp.SMTP_RecvCode
|
|
|
データ型
|
(VC)BSTR
(VB)String
|
|
既定値
|
なし
|
|
説明
|
SMTPサーバからのメッセージから有効行メッセージを取得します。
※取得のみ可能。(設定不可)
|
|
使用例
|
(SMTPサーバからの有効行メッセージを取得する)
strMsg = objSmtp.SMTP_RecvMsg
|
|
|
データ型
|
(VC)BSTR
(VB)String
|
|
既定値
|
なし
|
|
説明
|
SMTPサーバからのメッセージコードに対応する、日本語メッセージを取得します。
※取得のみ可能。(設定不可)
※--SMTP_RecvMsgとの違い--
SMTP_RecvMsg→SMTPサーバから送信された有効行メッセージ
SMTP_RecvMsgN→有効行メッセージコードに対応する日本語メッセージ(内部保有)
|
|
使用例
|
(内部保有の日本語メッセージを取得する)
strMsgN = objSmtp.SMTP_RecvMsgN
|
|
|
データ型
|
(VC)BSTR
(VB)String
|
|
既定値
|
なし
|
|
説明
|
SMTPサーバからの全メッセージを取得します。
※取得のみ可能。(設定不可)
※--SMTP_RecvMsgとの違い--
SMTP_RecvMsg→SMTPサーバから送信された有効行メッセージ
SMTP_RecvMsgALL→SMTPサーバから送信された全メッセージ(有効行メッセージを含む)
|
|
使用例
|
(SMTPサーバからの全メッセージを取得する)
strMsgN = objSmtp.SMTP_RecvMsgALL
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
なし
|
|
説明
|
SMTPサーバからのメッセージ行数を取得します。
※取得のみ可能。(設定不可)
|
|
使用例
|
(SMTPサーバからのメッセージ行数を取得する)
lngRecvLine = objSmtp.SMTP_RecvLine
|
|
|
データ型
|
(VC)long
(VB)Long
|
|
既定値
|
なし
|
|
説明
|
Winsockでエラーが発生した場合のWinsockのエラーコードを取得します。
※取得のみ可能。(設定不可)
|
|
使用例
|
(Winsockのエラーコードを取得する)
lngLastError = objSmtp.LastError
|
|
3. メソッド(データ作成系)
・メールヘッダやメール本文、添付ファイル内容を登録します。
・Make〜のメソッドは最後に呼び出した内容が有効になります。
・Add〜のメソッドは内容を追加登録します。
|
|
|
機能概要
|
送信メールのFromヘッダ内容を登録します。
|
|
記述形式
|
lngret = objSmtp.MakeFromAddress(strAddress, strNickname)
|
|
引数・戻り値
|
strAddress [in]:Fromヘッダに指定するメールアドレス
strNickname [in, optional]:strAddressに対応するニックネーム(省略可)
lngret [out]:正常終了時0を返す
|
|
説明
|
Fromヘッダ内容を登録します。複数回呼び出された場合には指定内容で上書きされます。
登録されたFromヘッダ内容はFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.MakeFromAddress("from@hoge.com")
lngret = objSmtp.MakeFromAddress("from@hoge.com","ほげ")
|
|
|
機能概要
|
送信メールのReply-Toヘッダ内容を登録します。
|
|
記述形式
|
lngret = objSmtp.MakeReplyToAddress(strAddress)
|
|
引数・戻り値
|
strAddress [in]:Reply-Toヘッダに登録するメールアドレス
lngret [out]:正常終了時0を返す
|
|
説明
|
Reply-Toヘッダ内容を登録します。複数回呼び出された場合には指定内容で上書きされます。
登録されたReply-Toヘッダ内容はFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.MakeReplytToAddress("replyto@hoge.com")
|
|
|
機能概要
|
送信メールのToヘッダ内容を追加登録します。
|
|
記述形式
|
lngret = objSmtp.AddToAddress(strAddress, strNickname)
|
|
引数・戻り値
|
strAddress [in]:Toヘッダに登録するメールアドレス
strNickname [in, optional]:strAddressに対応するニックネーム(省略可)
lngret [out]:正常終了時0を返す
|
|
説明
|
Toヘッダ内容を登録します。複数回呼び出された場合には指定内容が追加登録されます。
登録されたToヘッダ内容はFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.AddToAddress("to@hoge.com")
lngret = objSmtp.AddToAddress("to@hoge.com","ほげ")
|
|
|
機能概要
|
送信メールのCCヘッダ内容を追加登録します。
|
|
記述形式
|
lngret = objSmtp.AddCCAddress(strAddress, strNickname)
|
|
引数・戻り値
|
strAddress [in]:CCヘッダに登録するメールアドレス
strNickname [in, optional]:strAddressに対応するニックネーム(省略可)
lngret [out]:正常終了時0を返す
|
|
説明
|
CCヘッダ内容を登録します。複数回呼び出された場合には指定内容が追加登録されます。
登録されたCCヘッダ内容はFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.AddCCAddress("cc@hoge.com","")
lngret = objSmtp.AddCCAddress("cc@hoge.com","ほげ")
|
|
|
機能概要
|
送信メールのタイトル内容を登録します。
|
|
記述形式
|
lngret = objSmtp.MakeSubject(strSubject)
|
|
引数・戻り値
|
strSubject [in]:メールタイトル文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
メールタイトル内容を登録します。複数回呼び出された場合には指定内容で上書きされます。
登録されたメールタイトル内容はFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.MakeSubject("メールタイトル")
|
|
|
機能概要
|
メールの拡張ヘッダを登録します。
|
|
記述形式
|
lngret = objSmtp.AddExMessage(strHeaderName, strExMessage)
|
|
引数・戻り値
|
strHeaderName [in]:拡張ヘッダ名文字列
strExMessage [in]:ヘッダ内容文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
メールの拡張ヘッダを登録します。複数回呼び出された場合には指定内容が追加登録されます。
登録された拡張ヘッダはFlushMailDataメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.AddExMessage("X-Memo:","メモ")
|
|
|
機能概要
|
メール本文を登録します。
|
|
記述形式
|
lngret = objSmtp.MakeBody(strBody)
|
|
引数・戻り値
|
strBody [in]:本文メッセージ文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
メールの本文を登録します。複数回呼び出された場合には指定内容で上書きされます。
登録されたメール本文はFlushMailDataメソッドでフラッシュされます。
※メール本文は、半角カナは全角に強制的に変換されます。
|
|
使用例(VB)
|
lngret = objSmtp.MakeBody("メール本文です。")
|
|
|
機能概要
|
登録したメールデータをフラッシュします。
|
|
記述形式
|
lngret = objSmtp.FlushMailData()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
Make〜、Add〜のメソッドで登録されたメールヘッダ・本文の内容をフラッシュします。
--フラッシュする内容--
・Fromヘッダ
・Toヘッダ
・CCヘッダ
・Reply-Toヘッダ
・メールタイトル
・メールヘッダ拡張メッセージ
・メール本文
|
|
使用例(VB)
|
lngret = objSmtp.FlushMailData()
|
|
|
機能概要
|
メールの添付ファイル名を登録します。
|
|
記述形式
|
lngret = objSmtp.AddAttachFileName(strFilename)
|
|
引数・戻り値
|
strFileName [in]:添付ファイル名(フルパス指定)
lngret [out]:正常終了時0を返す
|
|
説明
|
メールに添付する添付ファイル名を登録します。複数回呼び出された場合には指定添付ファイル名が追加登録されます。
登録されたファイルはDATAメソッド呼び出し時に読み出されます。
登録された添付ファイル名はFlushAttachFileメソッドでフラッシュされます。
|
|
使用例(VB)
|
lngret = objSmtp.AddAttachFileName("c:\autoexec.bat")
|
|
|
機能概要
|
登録した添付ファイル名をフラッシュします。
|
|
記述形式
|
lngret = objSmtp.FlushAttachFile()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
AddAttachFileNameメソッドで登録された添付ファイル名をフラッシュします。
|
|
使用例(VB)
|
lngret = objSmtp.FlushAttachFile()
|
|
4. メソッド(SMTPコマンド系)
・指定されたSMTPサーバとの通信を行います。
・非同期指定の場合はすぐに処理が戻り、SMTPサーバからの応答を受信するとOnCommandFinishイベントが発生します。
・同期の場合はSMTPサーバからの応答を受信するまで待ちます。
・SMTP応答コードはメソッド終了後にSMTP_RecvCodeプロパティで確認できます。
|
|
|
機能概要
|
指定SMTPサーバにコネクトします。
|
|
記述形式
|
lngret = objSmtp.Connect(strServerName)
|
|
引数・戻り値
|
strServerName [in]:接続するSMTPサーバホスト名、又はIPアドレス文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
指定されたSMTPサーバにコネクトします。
引数にはホスト名、もしくはIPアドレス文字列を指定して下さい。
Connect成功時には0を返します。
|
|
SMTP応答コード
|
成功時(戻り値0):220
失敗時(戻り値-60001):554
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.Connect("servername")
lngret = objSmtp.Connect("192.168.0.1")
|
|
|
機能概要
|
指定SMTPサーバにHELOコマンドを送信し、SMTPセッションを開始します。
|
|
記述形式
|
lngret = objSmtp.HELO(strDomain)
|
|
引数・戻り値
|
strDomain [in]:送信元ドメイン名文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにHELOコマンドを送信し、SMTPセッションを開始します。
引数には送信元ドメイン名文字列を指定します。指定されない場合は指定なしでHELOコマンドを送信します。
※SMTP認証などを使用する場合にはHELOコマンドではなく、EHLOコマンドを使用して下さい。
|
|
SMTP応答コード
|
成功時(戻り値0):250
失敗時(戻り値-60001):504,550
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.HELO("hoge.com")
|
|
|
機能概要
|
指定SMTPサーバにQUITコマンドを送信し、コネクションを切断します。
|
|
記述形式
|
lngret = objSmtp.QUIT()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにQUITコマンドを送信し、コネクションを切断します。
|
|
SMTP応答コード
|
成功時(戻り値0):221
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.QUIT()
|
|
|
機能概要
|
指定SMTPサーバにMAILコマンドを送信し、メールトランザクションを開始します。
|
|
記述形式
|
lngret = objSmtp.MAIL(strReversePath)
|
|
引数・戻り値
|
strReversePath [in]:エラー報告に使われるメールアドレス
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにMAILコマンドを送信し、メールトランザクションを開始します。
※引数に指定されたメールアドレスはサーバ側でメールヘッダのReturn-Path等に指定され、サーバからのエラー報告などに使用されます。
|
|
SMTP応答コード
|
成功時(戻り値0):250
失敗時(戻り値-60001):552,554,451,452,550,553,503
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.MAIL("from@hoge.com")
|
|
|
機能概要
|
指定SMTPサーバにRCPTコマンドを送信します。
|
|
記述形式
|
lngret = objSmtp.RCPT(strForwardPath)
|
|
引数・戻り値
|
strForwardPath [in]:送信先のメールアドレス
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにRCPTコマンドを送信します。
RCPTコマンドはSMTPサーバに引数に指定したメール送信先を認識させます。
|
|
SMTP応答コード
|
成功時(戻り値0):250,251
失敗時(戻り値-60001):550,551,552,553,450,451,452,503
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.RCPT("to@hoge.com")
|
|
|
機能概要
|
指定SMTPサーバにNOOPコマンドを送信します。
|
|
記述形式
|
lngret = objSmtp.NOOP()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにNOOPコマンドを送信します。
※NOOPコマンドは、SMTPサーバがOKの応答を送る以外何も行いません。
|
|
SMTP応答コード
|
成功時(戻り値0):250
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.NOOP()
|
|
|
機能概要
|
指定SMTPサーバにRESETコマンドを送信し、メールトランザクションを中断します。
|
|
記述形式
|
lngret = objSmtp.RSET()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにRSETコマンドを送信、メールトランザクションを中断します。
※メールトランザクションを中断するだけで、コネクションは切断されません。
|
|
SMTP応答コード
|
成功時(戻り値0):250
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.RSET()
|
|
|
機能概要
|
指定SMTPサーバにDATAコマンドを送信し、メールデータを送信します。
|
|
記述形式
|
lngret = objSmtp.DATA()
|
|
引数・戻り値
|
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにDATAコマンドを送信し、メールデータを送信します。
Make〜、Add〜で登録したデータはこのコマンド呼び出し時にメールデータとして送信されます。
|
|
SMTP応答コード
|
成功時(戻り値0):250
失敗時(戻り値-60001):552,554,451,452
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.DATA()
|
|
|
機能概要
|
指定SMTPサーバにEHLOコマンドを送信し、SMTPセッションを開始します。
引数には送信元ドメイン名文字列を指定して下さい。
|
|
記述形式
|
lngret = objSmtp.EHLO(strDomain)
|
|
引数・戻り値
|
strDomain [in]:送信元ドメイン名文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにEHLOコマンドを送信し、SMTPセッションを開始します。
引数には送信元ドメイン名文字列を指定して下さい。指定されない場合は指定なしでEHLOコマンドを送信します。
※SMTP認証などを使用する場合にはHELOコマンドではなく、EHLOコマンドを使用して下さい。
|
|
SMTP応答コード
|
成功時(戻り値0):250
失敗時(戻り値-60001):504,550
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.EHLO("hoge.com")
|
|
|
機能概要
|
指定SMTPサーバにVERIFYコマンドを送信します。
|
|
記述形式
|
lngret = objSmtp.VRFY(strUser)
|
|
引数・戻り値
|
strUser [in]:ユーザ名、またはメールボックスを表す文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにVERIFYコマンドを送信し引数内容のユーザ名・メールボックスを確認します。
|
|
SMTP応答コード
|
成功時(戻り値0):250,251,252
失敗時(戻り値-60001):550,551,553,502,504
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.VRFY("username")
|
|
|
機能概要
|
指定SMTPサーバにEXPANDコマンドを送信します。
|
|
記述形式
|
lngret = objSmtp.EXPN(strAddress)
|
|
引数・戻り値
|
strAddress [in]:メーリングリストアドレス文字列
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにEXPANDコマンドを送信します。
SMTPサーバからは引数のメーリングアドレスリストの展開結果が返されます。
|
|
SMTP応答コード
|
成功時(戻り値0):250,252
失敗時(戻り値-60001):550,500,502,504
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.EXPN("ml@hoge.com")
|
|
|
機能概要
|
指定SMTPサーバにHELPコマンドを送信します。
|
|
記述形式
|
lngret = objSmtp.HELP(strArg)
|
|
引数・戻り値
|
strArg [in]:HELPコマンド引数(省略可)
lngret [out]:正常終了時0を返す
|
|
説明
|
指定SMTPサーバにHELPコマンドを送信します。
HELPコマンドの引数内容はサーバ側の実装に依存します。
|
|
SMTP応答コード
|
成功時(戻り値0):211,214
失敗時(戻り値-60001):502,504
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.HELP()
lngret = objSmtp.HELP("EHLO")
|
|
|
機能概要
|
指定SMTPサーバにSMTP認証を使用してログインします。
|
|
記述形式
|
lngret = objSmtp.LOGIN(strMechanism)
|
|
引数・戻り値
|
strMechanism [in, optional]:SMTP認証方法を表す文字列(省略可)
lngret [out]:正常終了時0を返す
|
|
説明
|
SMTPUserプロパティ、SMTPPassプロパティを使用してSMTP認証を行います。
strMechanism引数省略時には認証方法はLOGINを使用します。
--strMechanismの指定方法--
"LOGIN":認証方法にLOGINを使用して認証(既定値)
"PLAIN":認証方法にPLAINを使用して認証
"CRAM-MD5":認証方法にCRAM-MD5を使用して認証
※上記以外を指定した場合にはLOGINで認証を行います。
|
|
SMTP応答コード
|
成功時(戻り値0):235
失敗時(戻り値-60001):535,501,432,534,538,454
※上記以外のSMTP応答コードの場合、メソッドは想定外のエラー(-60002)を返します。
|
|
使用例(VB)
|
lngret = objSmtp.LOGIN()
lngret = objSmtp.LOGIN("PLAIN")
lngret = objSmtp.LOGIN("CRAM-MD5")
|
|
5. メソッド(その他)
|
|
機能概要
|
取得したライセンス情報を登録し、機能制限を解除します。
|
|
記述形式
|
lngret = objSmtp.Regist(strUID, strPWD)
|
|
引数・戻り値
|
strUID [in]:取得したライセンスのユーザID
strPWD [in]:取得したライセンスのパスワード
lngret [out]:正常終了時0を返す
|
|
説明
|
取得したライセンス情報を登録し、機能制限を解除します。
|
|
使用例(VB)
|
lngret = objSmtp.Regist("UID","PWD")
|
|
6. イベント
|
|
機能概要
|
非同期でSMTPコマンド系メソッドを実行した場合、メソッドの終了を通知します。
|
|
引数
|
lResult [in]:正常終了時0を返す
|
|
説明
|
非同期でSMTPコマンド系メソッドを実行した場合、メソッドの終了を通知します。
lResultにはエラー時はエラーコードが返ります。
|
|
使用例(VB)
|
Private Sub objSmtp_OnCommandFinish(ByVal lResult As Long)
※詳しくはサンプルをご覧下さい。
|
|
7. エラーコード
|
・各メソッド・イベントから返されるエラーコードとエラーメッセージの一覧です。
|
|
エラーコード
|
エラー内容
|
-10000
|
メモリ確保に失敗しました。
|
-10001
|
SMTPサーバからの返却コード切り出しに失敗しました。
|
-20001
|
ソケットの生成に失敗しました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのsocket関数のエラーコードを参照して下さい。
|
-20002
|
ホスト名からIPアドレスの取得に失敗しました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのgethostbyname関数のエラーコードを参照して下さい。
|
-20003
|
ソケットエラーが発生しました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのconnect関数、
又はselect関数のエラーコードを参照して下さい。
|
-20005
|
SMTPコマンドの送信でエラーが発生しました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのsend関数のエラーコードを参照して下さい。
|
-20006
|
SMTPサーバからのメッセージ受信でエラーが発生しました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのrecv関数のエラーコードを参照して下さい。
|
-20008
|
SMTPサーバから切断されました。
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、Winsockライブラリのrecv関数のエラーコードを参照して下さい。
|
-20010
|
SMTPサーバとの通信がタイムアウトしました。
|
-20011
|
イベントのウィンドウメッセージで通知設定に失敗しました。(非同期時のみ)
|
-20012
|
ソケットイベントの通知でエラーが発生しました。(非同期時のみ)
※固有のエラーコードはLastErrorプロパティに設定されます。
※固有のエラーコード内容については、WinsockライブラリのWSAAsyncSelect関数のエラーコードを参照して下さい。
|
-30001
|
添付ファイルのオープンに失敗しました。
|
-30002
|
ファイルハンドルがこれ以上使用できません。
|
-30003
|
指定した添付ファイルが存在しません。
|
-30004
|
指定した添付ファイルの読み込みに失敗しました。
|
-30005
|
指定した添付ファイルのクローズに失敗しました。
|
-40002
|
指定した内容に不正な文字が存在します。
|
-40003
|
添付ファイルの漢字コードが不明です。
※添付ファイルのエンコード方法に7BitJISを指定した場合のみ発生します。
|
-60001
|
SMTPサーバがエラーメッセージを返しました。
|
-60002
|
SMTPサーバが想定外のエラーメッセージを返しました。
|
-90001
|
メソッド引数のメールアドレスが指定されていません。
|
-90002
|
メソッド引数の拡張メッセージの内容が指定されていません。
|
-90003
|
ユーザ名・パスワードが不正です。
|
-90004
|
レジストリ登録に失敗しました。
|
-90005
|
機能制限により、機能を使用できません。
|
-90006
|
レジスト情報の取得に失敗しました。
|
|
8. SMTP応答コード
・AS-SMTP内部で認識しているSMTP応答コードと日本語メッセージの一覧です。
・実際のサーバの応答メッセージ内容は実装によります。このメッセージとは必ずしも合致しません。
※実際のサーバからの応答メッセージはSMTP_RecvMsgプロパティに設定されます。
・SMTP応答コードははSMTPコマンド系メソッド終了時にSMTP_RecvCodeプロパティに設定されます。
・このメッセージはSMTPコマンド系メソッド終了時にSMTP_RecvMsgNプロパティに設定されます。
・各メソッドでどのようなSMTP応答コードが返るかは各メソッドのSMTP応答コードを参照して下さい。
|
|
SMTP応答コードと管理日本語メッセージ(正常系)
|
SMTP応答コード
|
管理日本語メッセージ
|
211
|
システムまたはヘルプの応答です。
|
214
|
ヘルプメッセージです。
|
220
|
サービスの準備ができました。
|
221
|
通信チャネルを閉じます。
|
235
|
認証に成功しました。
|
250
|
コマンドは正常終了しました。
|
251
|
ユーザがローカルでないので転送されます。
|
252
|
VRFYできないが配信を試みます。
|
334
|
認証モードに入りました。
|
354
|
メール入力を開始してください。
|
SMTP応答コードと管理日本語メッセージ(エラー系)
|
SMTP応答コード
|
管理日本語メッセージ
|
421
|
サービスが利用可能でないので、チャネルを閉じます。
|
432
|
パスワードの変更が必要です。
|
450
|
メールボックスが利用不可のため要求受付できません。(ビジーなど)
|
451
|
コマンドは中止されました。
|
452
|
システムのストレージが足りないため、要求受付できません。
|
454
|
サーバ側の一時的な失敗です。
|
500
|
構文エラーです。
|
501
|
パラメータ・引数の構文エラーです。
|
502
|
コマンドが実装されていません。
|
503
|
コマンドの並びが間違っています。
|
504
|
コマンドパラメータが実装されていません。
|
530
|
コマンドの実行には認証が必要です。
|
534
|
認証システムが弱すぎます。
|
535
|
認証が拒否されました。
|
538
|
暗号化が必要です。
|
550
|
メールボックスが利用不可のため要求受付できません。(コマンド拒否など)
|
551
|
ユーザがローカルでないので転送リトライが必要です。
|
552
|
コマンドは中止されました。(ストレージの割当を超過した)
|
553
|
要求受付できません。(メールボックス名が正しくないなど)
|
554
|
トランザクションが失敗しました。またはSMTPサービスがありません。
|
|