Cosminexus アプリケーションサーバ V8 機能解説 保守/移行/互換編

[目次][用語][索引][前へ][次へ]

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

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

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

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

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

イベントID 図中の番号※1 トレース取得ポイント レベル
0xAD00 1 javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの入り口 A
0xAD01 20 javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの出口 A
0xAD02 21 javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの入り口 A
0xAD03 36 javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの出口 A
0xAD04 37 javax.mail.Transportクラスのcloseメソッドの入り口 A
0xAD05 42 javax.mail.Transportクラスのcloseメソッドの出口 A
0xAD06 2 コネクション取得処理の開始直前 A
0xAD07 3 コネクション取得処理の終了直後 A
0xAD08 24※2 すべての送信先情報の送信開始直前 A
0xAD09 27※2 すべての送信先情報の送信終了直後 A
0xAD0A 32※3 メール本体の送信開始直前 A
0xAD0B 33※3 メール本体の送信完了直後 A
0xAD0C 40 コネクション切断処理の開始直前 B
6 コネクション切断処理の開始直前 B
0xAD0D 41 コネクション切断処理の終了直後 B
7 コネクション切断処理の終了直後 B
0xAD0E 43 javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの入り口 A
0xAD0F 44 javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの出口 A
0xAD10 8※4 EHLOまたはHELOコマンド発行の開始直前 A
0xAD11 9※4 EHELOまたはHELOコマンドのレスポンスを受信した直後 A
0xAD12 10 AUTHコマンド発行の開始直前 B
12 ユーザ名,パスワードの送信の開始直前 B
14 認証の終了通知開始直前 B
16 ユーザ名の送信の開始直前 B
18 パスワードの送信の開始直前 B
22 MAILコマンド発行の開始直前 B
25※5 RCPTコマンド発行の開始直前 B
28 RSETコマンド発行の開始直前 B
30 DATAコマンド発行の開始直前 B
34 「\r\n.」コマンド発行の開始直前 B
38 QUITコマンド発行の開始直前 B
45※6 NOOPコマンドのレスポンスを受信した直後 B
0xAD13 11 AUTHのレスポンスを受信した直後 B
13 ユーザ名,パスワード送信のレスポンスを受信した直後 B
15 認証の終了通知完了直後 B
17 ユーザ名送信のレスポンスを受信した直後 B
19 パスワード送信のレスポンスを受信した直後 B
23 MAILコマンドのレスポンスを受信した直後 B
26※5 RCPTコマンドのレスポンスを受信した直後 B
29 RSETコマンドのレスポンスを受信した直後 B
31 DATAコマンドのレスポンスを受信した直後 B
35 「\r\n.」コマンドのレスポンスを受信した直後 B
39 QUITコマンドのレスポンスを受信した直後 B
46※6 NOOPコマンド発行の開始直前 B
0xAD14 4 接続時のサーバレスポンス取得を行う直前 B
0xAD15 5 接続時のサーバレスポンス取得直後 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 レベル インタフェース名 オペレーション名 オプション
1 0xAD00 A
2 0xAD06 A ※2
3 0xAD07 A 異常時は例外のクラス名
4 0xAD14 B 通信処理を示す文字列※3
5 0xAD15 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
6 0xAD0C B
7 0xAD0D B 異常時は例外のクラス名
8 0xAD10 A 通信処理を示す文字列※3
9 0xAD11 A 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※6 異常時は例外のクラス名※7
10 0xAD12 B 通信処理を示す文字列※3
11 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
12 0xAD12 B 通信処理を示す文字列※3
13 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
14 0xAD12 B 通信処理を示す文字列※3
15 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
16 0xAD12 B 通信処理を示す文字列※3
17 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
18 0xAD12 B 通信処理を示す文字列※3
19 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
20 0xAD01 A 異常時は例外のクラス名
21 0xAD02 A
22 0xAD12 B 通信処理を示す文字列※3
23 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
24 0xAD08 A
25 0xAD12 B 通信処理を示す文字列※3
26 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
27 0xAD09 A 異常時は例外のクラス名
28 0xAD12 B 通信処理を示す文字列※3
29 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
30 0xAD12 B 通信処理を示す文字列※3
31 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
32 0xAD0A A
33 0xAD0B A 異常時は例外のクラス名
34 0xAD12 B 通信処理を示す文字列※3
35 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
36 0xAD03 A 異常時は例外のクラス名
37 0xAD04 A
38 0xAD12 B 通信処理を示す文字列※3
39 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7
40 0xAD0C B
41 0xAD0D B 異常時は例外のクラス名
42 0xAD05 A 異常時は例外のクラス名
43 0xAD0E A メソッド名(send(Message, Address[])またはsend(Message))
44 0xAD0F A メソッド名(send(Message, Address[])またはsend(Message)) 異常時は例外のクラス名
45 0xAD12 B 通信処理を示す文字列※3
46 0xAD13 B 通信処理を示す文字列※3 メールサーバからのレスポンスコード※4,※5,※6 異常時は例外のクラス名※7

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

注※1
図7-83,図7-84,または図7-85中の番号と対応しています。

注※2
次の出力項目を出力します。
「ホスト名 ポート番号 コネクション取得時のタイムアウト値 通信のタイムアウト値」
各出力項目は半角スペースで区切って出力します。
タイムアウト値が無限に設定されている場合は0を出力します。また,ユーザがタイムアウト値を設定しなかった場合は-1を出力します。
(例)「localhost 25 10000 10000」

注※3
通信処理を示す文字列出力内容は,次の表に示すとおりです。

項番 通信処理を示す文字列 通信処理
1 −(該当なし) コネクション取得
2 connect-mail-server 接続時のサーバレスポンス取得
3 EHLO コマンド引数 EHLOコマンド発行
4 HELO コマンド引数 HELOコマンド発行
5 AUTH LOGIN AUTHコマンド発行
(引数に LOGIN)
6 AUTH PLAIN AUTHコマンド発行
(引数に PLAIN)
7 AUTH DIGEST-MD5 AUTHコマンド発行
(引数に DIGEST-MD5)
8 SEND USER ユーザ名の送信
9 SEND PASS パスワードの送信
10 SEND USER PASS ユーザ名とパスワードの送信
11 AUTH END 認証の完了通知
12 QUIT QUITコマンド発行
13 MAIL コマンド引数 MAILコマンド発行
14 RCPT コマンド引数 RCPTコマンド発行
15 RSET RSETコマンド発行
16 NOOP NOOPコマンド発行
17 DATA DATAコマンド発行
18 SEND 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を検知した場合には例外のクラス名は出力しません。