7.23.1 JavaMail送信時のトレース取得ポイントと取得できるトレース情報

<この項の構成>
(1) トレース取得ポイントとPRFトレース取得レベル
(2) 取得できるトレース情報

(1) トレース取得ポイントとPRFトレース取得レベル

イベントID,トレース取得ポイント,およびPRFトレース取得レベルについて,次の表に示します。

表7-127 JavaMail送信時のトレース取得ポイントの詳細

イベントID図中の番号※1トレース取得ポイントレベル
0xAD001javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの入り口A
0xAD0120javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの出口A
0xAD0221javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの入り口A
0xAD0336javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの出口A
0xAD0437javax.mail.Transportクラスのcloseメソッドの入り口A
0xAD0542javax.mail.Transportクラスのcloseメソッドの出口A
0xAD062コネクション取得処理の開始直前A
0xAD073コネクション取得処理の終了直後A
0xAD0824※2すべての送信先情報の送信開始直前A
0xAD0927※2すべての送信先情報の送信終了直後A
0xAD0A32※3メール本体の送信開始直前A
0xAD0B33※3メール本体の送信完了直後A
0xAD0C40コネクション切断処理の開始直前B
6コネクション切断処理の開始直前B
0xAD0D41コネクション切断処理の終了直後B
7コネクション切断処理の終了直後B
0xAD0E43javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの入り口A
0xAD0F44javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの出口A
0xAD108※4EHLOまたはHELOコマンド発行の開始直前A
0xAD119※4EHELOまたはHELOコマンドのレスポンスを受信した直後A
0xAD1210AUTHコマンド発行の開始直前B
12ユーザ名,パスワードの送信の開始直前B
14認証の終了通知開始直前B
16ユーザ名の送信の開始直前B
18パスワードの送信の開始直前B
22MAILコマンド発行の開始直前B
25※5RCPTコマンド発行の開始直前B
28RSETコマンド発行の開始直前B
30DATAコマンド発行の開始直前B
34「¥r¥n.」コマンド発行の開始直前B
38QUITコマンド発行の開始直前B
45※6NOOPコマンドのレスポンスを受信した直後B
0xAD1311AUTHのレスポンスを受信した直後B
13ユーザ名,パスワード送信のレスポンスを受信した直後B
15認証の終了通知完了直後B
17ユーザ名送信のレスポンスを受信した直後B
19パスワード送信のレスポンスを受信した直後B
23MAILコマンドのレスポンスを受信した直後B
26※5RCPTコマンドのレスポンスを受信した直後B
29RSETコマンドのレスポンスを受信した直後B
31DATAコマンドのレスポンスを受信した直後B
35「¥r¥n.」コマンドのレスポンスを受信した直後B
39QUITコマンドのレスポンスを受信した直後B
46※6NOOPコマンド発行の開始直前B
0xAD144接続時のサーバレスポンス取得を行う直前B
0xAD155接続時のサーバレスポンス取得直後B

(凡例)A:標準 B:詳細

注※1
図7-83,図7-84,または図7-85中の番号と対応しています。
注※2
すべての送信先情報の送信開始~終了で取得します。
注※3
32または33の取得ポイントのデータ送信処理では,送信するデータの読み込みとメールサーバへの送信を行います。例えば,添付ファイルが存在する場合は,添付ファイルのデータの読み込みとメールサーバへの送信を行います。
注※4
EHLOに失敗した場合,HELOで再度接続を試みるため,1回のサーバ接続でEHLOとHELOの2回分のログが出力される場合があります。
注※5
個々の送信先情報の送信開始~終了で取得します。
注※6
サーバと接続中の場合にだけ取得します。

JavaMail送信時のトレース取得ポイントを以降の図に示します。

図7-83 JavaMailの送信処理のトレース取得ポイント(javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドを使用する場合)

[図データ]

[図データ]

図7-84 JavaMailの送信処理のトレース取得ポイント(javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドを使用する場合)

[図データ]

注※1 内部でjavax.mail.Transportクラスのconnectメソッドを呼び出すため,図7-83で示した1~20の取得ポイントも出力されます。

注※2 内部でjavax.mail.TransportクラスのsendMessageメソッドを呼び出すため,図7-83で示した21~36の取得ポイントも出力されます。

注※3 内部でjavax.mail.Transportクラスのcloseメソッドを呼び出すため,図7-83で示した37~42の取得ポイントも出力されます。

図7-85 JavaMailのコネクション接続確認時のトレース取得ポイント

[図データ]

(2) 取得できるトレース情報

JavaMail送信時に取得できるトレース情報を次の表に示します。

表7-128 JavaMail送信時に取得できるトレース情報

図中の番号※1イベントIDレベルインタフェース名オペレーション名オプション
10xAD00A
20xAD06A※2
30xAD07A異常時は例外のクラス名
40xAD14B通信処理を示す文字列※3
50xAD15B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
60xAD0CB
70xAD0DB異常時は例外のクラス名
80xAD10A通信処理を示す文字列※3
90xAD11A通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※6異常時は例外のクラス名※7
100xAD12B通信処理を示す文字列※3
110xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
120xAD12B通信処理を示す文字列※3
130xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
140xAD12B通信処理を示す文字列※3
150xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
160xAD12B通信処理を示す文字列※3
170xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
180xAD12B通信処理を示す文字列※3
190xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
200xAD01A異常時は例外のクラス名
210xAD02A
220xAD12B通信処理を示す文字列※3
230xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
240xAD08A
250xAD12B通信処理を示す文字列※3
260xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
270xAD09A異常時は例外のクラス名
280xAD12B通信処理を示す文字列※3
290xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
300xAD12B通信処理を示す文字列※3
310xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
320xAD0AA
330xAD0BA異常時は例外のクラス名
340xAD12B通信処理を示す文字列※3
350xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
360xAD03A異常時は例外のクラス名
370xAD04A
380xAD12B通信処理を示す文字列※3
390xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
400xAD0CB
410xAD0DB異常時は例外のクラス名
420xAD05A異常時は例外のクラス名
430xAD0EAメソッド名(send(Message, Address[])またはsend(Message))
440xAD0FAメソッド名(send(Message, Address[])またはsend(Message))異常時は例外のクラス名
450xAD12B通信処理を示す文字列※3
460xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
(凡例)A:標準 B:詳細 -:該当なし
注※1
図7-83,図7-84,または図7-85中の番号と対応しています。
注※2
次の出力項目を出力します。
「ホスト名 ポート番号 コネクション取得時のタイムアウト値 通信のタイムアウト値」
各出力項目は半角スペースで区切って出力します。
タイムアウト値が無限に設定されている場合は0を出力します。また,ユーザがタイムアウト値を設定しなかった場合は-1を出力します。
(例)「localhost 25 10000 10000」
注※3
通信処理を示す文字列出力内容は,次の表に示すとおりです。

項番通信処理を示す文字列通信処理
1-(該当なし)コネクション取得
2connect-mail-server接続時のサーバレスポンス取得
3EHLO コマンド引数EHLOコマンド発行
4HELO コマンド引数HELOコマンド発行
5AUTH LOGINAUTHコマンド発行
(引数に LOGIN)
6AUTH PLAINAUTHコマンド発行
(引数に PLAIN)
7AUTH DIGEST-MD5AUTHコマンド発行
(引数に DIGEST-MD5)
8SEND USERユーザ名の送信
9SEND PASSパスワードの送信
10SEND USER PASSユーザ名とパスワードの送信
11AUTH END認証の完了通知
12QUITQUITコマンド発行
13MAIL コマンド引数MAILコマンド発行
14RCPT コマンド引数RCPTコマンド発行
15RSETRSETコマンド発行
16NOOPNOOPコマンド発行
17DATADATAコマンド発行
18SEND MAILメール本体のデータ送信
19¥r¥n.¥r¥n.の送信
注※4
レスポンスの出力内容は,次の表に示すとおりです。

レスポンス出力内容
レスポンスコードが不正ではない(RFC仕様内)レスポンスコード
レスポンスコードが不正(RFC仕様外)レスポンス1行目の先頭4文字(詳細については,KDJE59111-Eメッセージを参照してください)
  • 1行目が4文字未満の場合
    1行目のすべての文字を出力
  • レスポンスがない場合
    空文字列を出力
注※5
QUITコマンドではmail.smtp.quitwaitがtureの場合にだけレスポンスコードを出力します。
注※6
レスポンスが取得できた場合にだけレスポンスコードを出力します。通信でIOExceptionが発生した場合など,異常時にレスポンスが取得できなかったとき,レスポンスコードは出力しません。
注※7
レスポンスコードがRFC仕様外の場合,およびEOFを検知した場合には例外のクラス名は出力しません。