Hitachi

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


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

〈この項の構成〉

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

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

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

イベントID

図中の番号※1

トレース取得ポイント

レベル

0xAD00

1

javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの入り口

A

0xAD01

22

javax.mail.Transportクラスのconnect(String host, int port, String user, String password)メソッドの出口

A

0xAD02

23

javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの入り口

A

0xAD03

38

javax.mail.TransportクラスのsendMessage(Message message, Address[] addresses)メソッドの出口

A

0xAD04

39

javax.mail.Transportクラスのcloseメソッドの入り口

A

0xAD05

44

javax.mail.Transportクラスのcloseメソッドの出口

A

0xAD06

2

コネクション取得処理の開始直前

A

0xAD07

3

コネクション取得処理の終了直後

A

0xAD08

26※2

すべての送信先情報の送信開始直前

A

0xAD09

29※2

すべての送信先情報の送信終了直後

A

0xAD0A

34※3

メール本体の送信開始直前

A

0xAD0B

35※3

メール本体の送信完了直後

A

0xAD0C

42

コネクション切断処理の開始直前

B

6

コネクション切断処理の開始直前

B

0xAD0D

43

コネクション切断処理の終了直後

B

7

コネクション切断処理の終了直後

B

0xAD0E

45

javax.mail.Transportクラスのsend(Message msg, Address[] addresses)メソッド,javax.mail.Transportクラスのsend(Message msg)メソッドの入り口

A

0xAD0F

46

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

14

ユーザ名,パスワードの送信の開始直前

B

16

認証の終了通知開始直前

B

18

ユーザ名の送信の開始直前

B

20

パスワードの送信の開始直前

B

24

MAILコマンド発行の開始直前

B

27※5

RCPTコマンド発行の開始直前

B

30

RSETコマンド発行の開始直前

B

32

DATAコマンド発行の開始直前

B

36

メール本文送信終了通知の発行の開始直前

B

40

QUITコマンド発行の開始直前

B

47※6

NOOPコマンドのレスポンスを受信した直後

B

12

STARTTLSコマンド発行の開始直後

B

0xAD13

11

AUTHのレスポンスを受信した直後

B

15

ユーザ名,パスワード送信のレスポンスを受信した直後

B

17

認証の終了通知完了直後

B

19

ユーザ名送信のレスポンスを受信した直後

B

21

パスワード送信のレスポンスを受信した直後

B

25

MAILコマンドのレスポンスを受信した直後

B

28※5

RCPTコマンドのレスポンスを受信した直後

B

31

RSETコマンドのレスポンスを受信した直後

B

33

DATAコマンドのレスポンスを受信した直後

B

37

メール本文送信終了通知のレスポンスを受信した直後

B

41

QUITコマンドのレスポンスを受信した直後

B

48※6

NOOPコマンド発行の開始直前

B

13

STARTTLSコマンドのレスポンスを受信した直後

B

0xAD14

4

接続時のサーバレスポンス取得を行う直前

B

0xAD15

5

接続時のサーバレスポンス取得直後

B

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

注※1

図8-88図8-89,または図8-90中の番号と対応しています。

注※2

すべての送信先情報の送信開始〜終了で取得します。

注※3

32または33の取得ポイントのデータ送信処理では,送信するデータの読み込みとメールサーバへの送信を行います。例えば,添付ファイルが存在する場合は,添付ファイルのデータの読み込みとメールサーバへの送信を行います。

注※4

EHLOに失敗した場合,HELOで再度接続を試みるため,1回のサーバ接続でEHLOとHELOの2回分のログが出力される場合があります。

注※5

個々の送信先情報の送信開始〜終了で取得します。

注※6

サーバと接続中の場合にだけ取得します。

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

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

[図データ]

[図データ]

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

[図データ]

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

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

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

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

[図データ]

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

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

表8‒136 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

0xAD12

B

通信処理を示す文字列※3

21

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

22

0xAD01

A

異常時は例外のクラス名

23

0xAD02

A

24

0xAD12

B

通信処理を示す文字列※3

25

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

26

0xAD08

A

27

0xAD12

B

通信処理を示す文字列※3

28

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

29

0xAD09

A

異常時は例外のクラス名

30

0xAD12

B

通信処理を示す文字列※3

31

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

31

0xAD12

B

通信処理を示す文字列※3

32

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

33

0xAD0A

A

34

0xAD0B

A

異常時は例外のクラス名

35

0xAD12

B

通信処理を示す文字列※3

36

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

37

0xAD03

A

異常時は例外のクラス名

38

0xAD04

A

39

0xAD12

B

通信処理を示す文字列※3

40

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

41

0xAD0C

B

42

0xAD0D

B

異常時は例外のクラス名

43

0xAD05

A

異常時は例外のクラス名

44

0xAD0E

A

メソッド名(send(Message, Address[])またはsend(Message))

45

0xAD0F

A

メソッド名(send(Message, Address[])またはsend(Message))

異常時は例外のクラス名

46

0xAD12

B

通信処理を示す文字列※3

47

0xAD13

B

通信処理を示す文字列※3

メールサーバからのレスポンスコード※4,※5,※6

異常時は例外のクラス名※7

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

注※1

図8-88図8-89,または図8-90中の番号と対応しています。

注※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

.

メール本文送信終了通知

20

STARTTLS

STARTTLSコマンド発行

注※4

レスポンスの出力内容は,次の表に示すとおりです。

レスポンス

出力内容

レスポンスコードが不正ではない(RFC仕様内)

レスポンスコード

レスポンスコードが不正(RFC仕様外)

レスポンス1行目の先頭4文字(詳細については,KDJE59111-Eメッセージを参照してください)

  • 1行目が4文字未満の場合

    1行目のすべての文字を出力

  • レスポンスがない場合

    空文字列を出力

注※5

QUITコマンドではmail.smtp.quitwaitまたはmail.smtps.quitwaitがtureの場合にだけレスポンスコードを出力します。

注※6

レスポンスが取得できた場合にだけレスポンスコードを出力します。通信でIOExceptionが発生した場合など,異常時にレスポンスが取得できなかったとき,レスポンスコードは出力しません。

注※7

レスポンスコードがRFC仕様外の場合,およびEOFを検知した場合には例外のクラス名は出力しません。