Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

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

8.2.1 SMTPサーバに接続するためのセッションプロパティ

ここでは,SMTPプロバイダおよびSMTPSプロバイダ独自のセッションプロパティについて説明します。

SMTPプロバイダおよびSMTPSプロバイダ独自のセッションプロパティの一覧を次の表に示します。なお,使用するプロトコルとして"smtps"を指定した場合は,プロパティ名の"smtp"の部分は"smtps"となります。

表8-2 SMTPプロバイダおよびSMTPSプロバイダ独自のセッションプロパティの一覧

項番 プロパティ デフォルト値 有効な指定値 無効な値を指定した場合の動作
1 mail.smtp.allow8bitmime false true,false
(大文字と小文字の区別はなし)
メールサーバへの送信処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
2 mail.smtp.auth false true,false
(大文字と小文字の区別はなし)
メールサーバとの接続処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
3 mail.smtp.connectiontimeout 0
(無限待ち)
0〜2147483647
(単位:ミリ秒)
メールサーバとの接続処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
4 mail.smtp.dsn.notify なし
  • SUCCESS,FAILURE,DELAYのうち一つ,または複数を「,」で区切って指定
  • NEVER
指定した値をそのまま使用します。
メールサーバ側で不正と見なした場合は,RCPTコマンドが失敗し,メール送信処理が中断します。
メールサーバの処理は,メールサーバに依存します。
5 mail.smtp.dsn.ret なし FULL,HDRS 指定した値をそのまま使用します。
メールサーバ側で不正と見なした場合は,MAILコマンドが失敗し,メール送信処理が中断します。
メールサーバの処理は,メールサーバに依存します。
6 mail.smtp.ehlo true true,false
(大文字と小文字の区別はなし)
メールサーバとの接続処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
7 mail.smtp.from <mail.form>に指定した値 文字列 JavaMail,またはメールサーバから例外が返る可能性があります。メールサーバがどのような場合に例外を返すかは,メールサーバに依存します。
8 mail.smtp.localhost java.net.InetAddress.getLocalHost().getHostName()の戻り値 文字列 指定した値をそのまま使用します。
9 mail.smtp.noop.strict true true,false
(大文字と小文字の区別はなし)
javax.mail.Transportオブジェクト取得時にメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
10 mail.smtp.quitwait false true,false
(大文字と小文字の区別はなし)
javax.mail.Transportオブジェクト取得時にメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
11 mail.smtp.saslrealm なし 文字列 指定した値をそのまま使用します。
12 mail.smtp.sendpartial false true,false
(大文字と小文字の区別はなし)
メールサーバへの送信処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。
13 mail.smtp.timeout 0
(無限待ち)
0〜2147483647
(単位:ミリ秒)
メールサーバとの接続処理でメッセージKDJE59100-Wを出力します。
値は,デフォルト値を使用します。

それぞれのプロパティについて,以降で説明します。

<この項の構成>
(1) mail.smtp.allow8bitmime
(2) mail.smtp.auth
(3) mail.smtp.connectiontimeout
(4) mail.smtp.dsn.notify
(5) mail.smtp.dsn.ret
(6) mail.smtp.ehlo
(7) mail.smtp.from
(8) mail.smtp.localhost
(9) mail.smtp.noop.strict
(10) mail.smtp.quitwait
(11) mail.smtp.saslrealm
(12) mail.smtp.sendpartial
(13) mail.smtp.timeout

(1) mail.smtp.allow8bitmime

quoted-printableやbase64エンコーディングを使用するメッセージのテキスト部分を,8ビットエンコーディングへ変換するかどうかを指定します。

trueを指定した場合,次の条件を満たしていれば,quoted-printableやbase64エンコーディングを使用するメッセージのテキスト部分は8ビットエンコーディングへ変換されます。

falseを指定した場合は,8ビットエンコーディングへは変換しません。

(2) mail.smtp.auth

AUTHコマンドを使用したユーザ認証をするかどうかを指定します。

trueを指定した場合,AUTHコマンドを使用してユーザ認証をします。falseを指定した場合,AUTHコマンドを使用したユーザ認証はしません。

(3) mail.smtp.connectiontimeout

コネクション確立までのタイムアウト時間(単位:ミリ秒)を指定します。

0を指定すると,無限に待ち続けます。

このプロパティが指定されている場合,スレッドを使用してタイムアウト時間を監視します。ポリシーやシステムの制限でスレッドが作成できない場合は,タイムアウト時間を監視しません。

タイムアウト時間が,OSのTCPの再送タイマによるタイムアウト時間より大きいか,またはタイムアウト監視をしない設定の場合,TCPの再送タイマによるタイムアウト時間が有効となります。なお,再送タイマによるタイムアウトは,OSによって異なります。

(4) mail.smtp.dsn.notify

RCPTコマンドのNOTIFYオプションを指定します。

このオプションはDSN(Delivery Status Notification:配送状態通知)を生成する条件を指定します。コンマを区切りにして,次の表に示す値を組み合わせて指定できます。

表8-3 mail.smtp.dsn.notifyに指定できる値

項番 指定される内容
1 NEVER 配送状態に関係なく,送信者にDSNを返さない。
2 SUCCESS メッセージの配送が成功した場合,DSNを生成する。
3 FAILURE メッセージの配送が失敗した場合,DSNを生成する。
4 DELAY メッセージの配送が遅延した場合,DSNを生成する。

指定しない場合のDSN生成については,RFC1891ではNOTIFY=FAILUREまたはNOTIFY=FAILURE,DELAYとして指定されたと解釈してよいとされており,サーバの実装に依存します。

(5) mail.smtp.dsn.ret

MAILコマンドのRET追加パラメタ値を指定します。

次の表に示す値を組み合わせて指定できます。

表8-4 mail.smtp.dsn.ret指定できる値

項番 指定される内容
1 FULL 配送失敗通知メッセージに送信メッセージ全体を含める。
2 HDRS 配送失敗通知メッセージに送信メッセージのヘッダだけを含める。

プロパティを指定しない場合,配送失敗通知メッセージに何が含まれるかは,サーバの実装に依存します。

(6) mail.smtp.ehlo

EHLOコマンドを使用するかどうかを指定します。

trueを指定した場合,EHLOコマンドを使用します。EHLOコマンドでエラーが発生した場合,代替にHELOコマンドを使用します。falseを指定した場合,EHLOコマンドは使用しません。

(7) mail.smtp.from

SMTPおよびSMTPSのMAILコマンドのreverse-pathに使用する電子メールアドレスを指定します。

(8) mail.smtp.localhost

SMTPおよびSMTPSのHELOコマンドまたはEHLOコマンドで使用されるローカルホストのドメイン名を指定します。

JDKおよびネームサービスが適切に定義されている場合,指定する必要はありません。

(9) mail.smtp.noop.strict

メールサーバとのコネクション状態を確認する場合,接続状態と判定するレスポンスを変更する時に使用します。

trueを指定した場合は,NOOPコマンドに対するメールサーバからのレスポンスが250の時に接続状態と見なします。falseを指定した場合は,NOOPコマンドに対するメールサーバからのレスポンスが,421を除く正の整数値の時に接続状態と見なします。

(10) mail.smtp.quitwait

QUITコマンドに対する応答を待つかどうかを指定します。

trueを指定した場合は,QUITコマンドに対する応答を待ちます。falseを指定した場合は,QUITコマンド送信直後にコネクションをクローズします。

(11) mail.smtp.saslrealm

DIGEST-MD5認証で使用するレルムを指定します。

省略した場合,サーバからのチャレンジに含まれる最初のレルムを使用します。チャレンジにレルムが含まれていない場合,接続先ホスト名をレルムとして使用します。

(12) mail.smtp.sendpartial

メッセージに指定されている電子メールアドレスに,正しくない電子メールアドレスが含まれている場合の動作を指定します。

trueを指定した場合は,メッセージを送信した上で,エラーになった電子メールアドレスをSendFailedExceptionで報告します。falseを指定した場合は,メッセージを送信しません。

(13) mail.smtp.timeout

SMTPサーバとの通信(read)のタイムアウト時間(単位:ミリ秒)を指定します。

0を指定すると,無限に待ち続けます。

タイムアウト時間が,OSのTCPの再送タイマによるタイムアウト時間より大きいか,またはタイムアウト監視をしない設定の場合,TCPの再送タイマによるタイムアウト時間が有効となります。なお,再送タイマによるタイムアウトは,OSによって異なります。