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

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

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

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

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

イベントID図中の番号※1トレース取得ポイントレベル
0xAD001javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの入り口A
0xAD0122javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの出口A
0xAD0223javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの入り口A
0xAD0338javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの出口A
0xAD0439javax.mail.Transportクラスのcloseメソッドの入り口A
0xAD0544javax.mail.Transportクラスのcloseメソッドの出口A
0xAD062コネクション取得処理の開始直前A
0xAD073コネクション取得処理の終了直後A
0xAD0826※2すべての送信先情報の送信開始直前A
0xAD0929※2すべての送信先情報の送信終了直後A
0xAD0A34※3メール本体の送信開始直前A
0xAD0B35※3メール本体の送信完了直後A
0xAD0C42コネクション切断処理の開始直前B
6コネクション切断処理の開始直前B
0xAD0D43コネクション切断処理の終了直後B
7コネクション切断処理の終了直後B
0xAD0E45javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの入り口A
0xAD0F46javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの出口A
0xAD108※4EHLOまたはHELOコマンド発行の開始直前A
0xAD119※4EHELOまたはHELOコマンドのレスポンスを受信した直後A
0xAD1210AUTHコマンド発行の開始直前B
14ユーザ名,パスワードの送信の開始直前B
16認証の終了通知開始直前B
18ユーザ名の送信の開始直前B
20パスワードの送信の開始直前B
24MAILコマンド発行の開始直前B
27※5RCPTコマンド発行の開始直前B
30RSETコマンド発行の開始直前B
32DATAコマンド発行の開始直前B
36メール本文送信終了通知の発行の開始直前B
40QUITコマンド発行の開始直前B
47※6NOOPコマンドのレスポンスを受信した直後B
12STARTTLSコマンド発行の開始直後B
0xAD1311AUTHのレスポンスを受信した直後B
15ユーザ名,パスワード送信のレスポンスを受信した直後B
17認証の終了通知完了直後B
19ユーザ名送信のレスポンスを受信した直後B
21パスワード送信のレスポンスを受信した直後B
25MAILコマンドのレスポンスを受信した直後B
28※5RCPTコマンドのレスポンスを受信した直後B
31RSETコマンドのレスポンスを受信した直後B
33DATAコマンドのレスポンスを受信した直後B
37メール本文送信終了通知のレスポンスを受信した直後B
41QUITコマンドのレスポンスを受信した直後B
48※6NOOPコマンド発行の開始直前B
13STARTTLSコマンドのレスポンスを受信した直後B
0xAD144接続時のサーバレスポンス取得を行う直前B
0xAD155接続時のサーバレスポンス取得直後B

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

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

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

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

[図データ]

[図データ]

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

[図データ]

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

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

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

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

[図データ]

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

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

表8-162 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
200xAD12B通信処理を示す文字列※3
210xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
220xAD01A異常時は例外のクラス名
230xAD02A
240xAD12B通信処理を示す文字列※3
250xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
260xAD08A
270xAD12B通信処理を示す文字列※3
280xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
290xAD09A異常時は例外のクラス名
300xAD12B通信処理を示す文字列※3
310xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
310xAD12B通信処理を示す文字列※3
320xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
330xAD0AA
340xAD0BA異常時は例外のクラス名
350xAD12B通信処理を示す文字列※3
360xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
370xAD03A異常時は例外のクラス名
380xAD04A
390xAD12B通信処理を示す文字列※3
400xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7
410xAD0CB
420xAD0DB異常時は例外のクラス名
430xAD05A異常時は例外のクラス名
440xAD0EAメソッド名(send(Message, Address[])またはsend(Message))
450xAD0FAメソッド名(send(Message, Address[])またはsend(Message))異常時は例外のクラス名
460xAD12B通信処理を示す文字列※3
470xAD13B通信処理を示す文字列※3メールサーバからのレスポンスコード※4,※5,※6異常時は例外のクラス名※7

(凡例)A:標準 B:詳細 -:該当なし

注※1
図8-101,図8-102または図8-103中の番号と対応しています。
注※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.メール本文送信終了通知
20STARTTLSSTARTTLSコマンド発行
注※4
レスポンスの出力内容は,次の表に示すとおりです。

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