メール設定¶
項目
- 概要
- リファレンス
- SMTPの設定
- SMTPサーバ設定
- SMTPS(SMTP over SSL)設定
- SSLプロトコル群
- SSLプロトコル設定
- SMTP Authentication設定
- SMTP Authenticationユーザ設定
- SMTP Authenticationパスワード設定
- SMTP AuthenticationシステムOAuthプロバイダID設定
- X-Mailerヘッダ設定
- デバッグ設定
- コネクションタイムアウト設定
- タイムアウト設定
- メールセッションプロパティ群
- メールセッションプロパティ設定
- コンテンツタイプ群
- コンテンツタイプ設定
- リスナ群設定
- リスナ設定
- メールヘッダ群設定
- メールヘッダ設定
- メールエンコード設定
- 文字コード設定
- MIMEエンコード設定
- ボディエンコード設定
概要¶
メール送信に関する設定です。デフォルトの設定としてjavamail-config.xmlが用意されています。多言語対応として、javamail-config_{ロケールID}.xmlが存在します。
モジュール メールモジュール フォーマットファイル(xsd) WEB-INF/schema/javamail-config.xsd 設定場所 WEB-INF/conf/javamail-config/javamail-config.xmlWEB-INF/conf/javamail-config/{任意のファイル名}.xml<?xml version="1.0" encoding="UTF-8"?> <javamail-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://intra-mart.co.jp/system/mail/javamail/config/javamail-config" xsi:schemaLocation="http://intra-mart.co.jp/system/mail/javamail/config/javamail-config ../../schema/javamail-config.xsd "> <smtp> <smtp-server id="default" host="localhost" port="25"> <smtps enable="false" starttls="false"/> <auth enable="false"> <user/> <password/> <system-oauth-provider-id/> </auth> <x-mailer>intra-mart MailSender ver 8.0</x-mailer> <debug>false</debug> <connection-timeout>60000</connection-timeout> <timeout>60000</timeout> <session-properties> <session-property name="mail.smtp.xxxx" value="yyyy"/> </session-properties> </smtp-server> </smtp> <content-type> <file extension=".txt" content-type="text/plain"/> <file extension=".gif" content-type="image/gif"/> <file extension=".jpg" content-type="image/jpeg"/> <file extension=".png" content-type="image/png"/> </content-type> <listener> <listener-class>jp.co.intra_mart.foundation.mail.javamail.listener.impl.HalfKanaTransrateListener</listener-class> <listener-class>jp.co.intra_mart.foundation.mail.javamail.listener.impl.RewritingMailAddressListener</listener-class> </listener> <encode> <charset>UTF-8</charset> <mime-encoding>B</mime-encoding> <content-transfer-encoding>base64</content-transfer-encoding> </encode> </javamail-config>
リファレンス¶
SMTPの設定¶
タグ名 smtp SMTPの設定を行います。メールの送信時に使用するSMTPの設定を行います。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> .... </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SMTPの各種設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javamail-config
SMTPサーバ設定¶
タグ名 smtp-server SMTPサーバの設定を行います。複数のSMTPサーバの定義を行うことが可能です。APIからのメール送信時にSMTPサーバが指定されていない場合、テナントIDと同じIDのSMTPサーバを利用します。テナントIDと同じIDのSMTPサーバの設定が存在しない場合に利用されるため、必ず一つ、id属性に default を指定したSMTPサーバを設定してください。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> .... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 SMTPサーバの設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ smtp 【属性】
属性名 説明 必須 デフォルト値 id このSMTPサーバの設定を特定する一意のIDです。APIからのメール送信時にこのIDを指定することで、利用するSMTPサーバを選択できます。APIからのメール送信時にIDを指定しなかった場合、テナントIDと同じIDのSMTPサーバを利用します。テナントIDと同じIDの設定が存在しない場合は、標準設定(default)を利用します。○ なし host SMTPサーバのホスト名またはIPアドレスを指定します。 ○ なし port SMTPサーバのポート名を指定します。 ○ なし
SMTPS(SMTP over SSL)設定¶
タグ名 smtps SMTPS(SMTP over SSL)の設定を行います。SMTPSを利用するにはJavaランタイムがSMTPサーバのSSL証明書を信頼済みである必要があります。SSL証明書が信頼されていない場合、javax.net.ssl.SSLHandshakeExceptionがスローされSMTPサーバに接続できません。JavaランタイムがSMTPサーバのSSL証明書を信頼済みであることを確認して使用してください。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <smtps enable="true" starttls="false"/> .... </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SMTPS(SMTP over SSL)の設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ smtp-server 【属性】
属性名 説明 必須 デフォルト値 enable SMTPサーバとの通信をSSLによる暗号化通信を利用して行います。SSLを利用する場合はtrue、利用しない場合はfalseを設定してください。× false starttls TLS/STARTTLSによる暗号化通信を行います。TLS/STARTTLSを利用する場合はtrue、利用しない場合はfalseを設定してください。この設定を有効にする場合はenable属性も有効に設定してください。× false
SSLプロトコル群¶
タグ名 protocols SSLによる暗号化通信を行う際に利用するSSLプロトコル群の設定を行います。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <smtps enable="true" starttls="false"> <protocols> .... </protocols> </smtps> </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SSLプロトコル群を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ smtps コラム
本設定は 2018 Summer(Tiffany) 以降、利用可能です。
SSLプロトコル設定¶
タグ名 protocol SSLによる暗号化通信を行う際に利用するSSLプロトコルの設定を行います。メールサーバによって許容するSSLプロトコルが制限されている場合に指定する必要があります。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <smtps enable="true" starttls="false"> <protocols> <protocol>TLSv1.2</protocol> </protocols> </smtps> </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 SSLプロトコルを指定します。2018年8月現在、指定可能な値は以下の通りです。
TLSv1 TLSv1.1 TLSv1.2 単位・型 なし 省略時のデフォルト値 なし 親タグ protocols コラム
本設定は 2018 Summer(Tiffany) 以降、利用可能です。
コラム
SSLプロトコル設定を行わない場合に利用するSSLプロトコルは TLSv1 です。これは JavaMail 1.4.1 の仕様です。
SMTP Authentication設定¶
タグ名 auth SMTP Authenticationを利用する場合に指定する要素です。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <auth enable="false"> .... </auth> </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 SMTP Authenticationを利用する際の設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ smtp-server 【属性】
属性名 説明 必須 デフォルト値 enable SMTP Authenticationの利用設定を行います。SMTP Authenticationを利用する場合はtrue、利用しない場合はfalseを設定してください。 × false
SMTP Authenticationユーザ設定¶
タグ名 user SMTP Authenticationを利用する際のユーザを設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <auth enable="true"> <user>USER</user> ... </auth> </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SMTP Authenticationを利用する際のユーザを設定します。 単位・型 文字列 省略時のデフォルト値 なし 親タグ auth
SMTP Authenticationパスワード設定¶
タグ名 password SMTP Authenticationでパスワード認証を利用する際のパスワードを設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <auth enable="true"> .... <password>PASSWORD</password> </auth> </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SMTP Authenticationでパスワード認証を利用する際のパスワードを設定します。「SMTP Authenticationパスワード設定」と、「SMTP AuthenticationシステムOAuthプロバイダID設定」に値がある場合はアクセストークン認証が行われます。単位・型 文字列 省略時のデフォルト値 なし 親タグ auth
SMTP AuthenticationシステムOAuthプロバイダID設定¶
タグ名 system-oauth-provider-id SMTP AuthenticationでOAuth2.0認可におけるアクセストークン認証を利用する際の、トークン発行元のシステムOAuthプロバイダIDを設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> <auth enable="true"> .... <system-oauth-provider-id>SYSTEM-OAUTH-PROVIDER-ID</system-oauth-provider-id> </auth> </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 SMTP AuthenticationでOAuth2.0認可におけるアクセストークン認証を利用する際の、トークン発行元のシステムOAuthプロバイダIDを設定します。「SMTP Authenticationパスワード設定」と、「SMTP AuthenticationシステムOAuthプロバイダID設定」に値がある場合はアクセストークン認証が行われます。システム用OAuthプロバイダ設定と、アクセストークンの発効については以下を参照してください。単位・型 文字列 省略時のデフォルト値 なし 親タグ auth コラム
本設定は 2022 Spring(Eustoma) 以降、利用可能です。
X-Mailerヘッダ設定¶
タグ名 x-mailer X-Mailerメールヘッダに指定する値の設定を行います。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <x-mailer>intra-mart MailSender ver 8.0</x-mailer> ... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 メール送信時にX-Mailerヘッダとして送信する値を設定します。 単位・型 文字列 省略時のデフォルト値 なし 親タグ smtp-server
デバッグ設定¶
タグ名 debug JavaMailにデバッグオプションを設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <debug>false</debug> ... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容
false デバッグ設定を行いません。 true デバッグ設定を行います。 単位・型 真偽値 (true/false) 省略時のデフォルト値 なし 親タグ smtp-server
コネクションタイムアウト設定¶
タグ名 connection-timeout SMTPサーバ接続時のコネクションタイムアウト値を設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <connection-timeout>60000</connection-timeout> ... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 SMTPサーバ接続時のコネクションタイムアウト値を設定します。-1が設定された場合はコネクションタイムアウトは発生しません。設定可能な数値の単位はミリ秒です。単位・型 数値(1以上 または -1) 省略時のデフォルト値 なし 親タグ smtp-server
タイムアウト設定¶
タグ名 timeout メール送信時におけるタイムアウト値を設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <timeout>60000</timeout> ... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 メール送信時におけるタイムアウト値を設定します。-1が設定された場合はタイムアウトは発生しません。設定可能な数値の単位はミリ秒です。単位・型 数値(1以上 または -1) 省略時のデフォルト値 なし 親タグ smtp-server
メールセッションプロパティ群¶
タグ名 session-properties JavaMailによるメール操作実行時のメールセッションのプロパティ群を設定します。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <session-properties> ... </session-properties> ... </smtp-server> </smtp> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 メールセッションのプロパティ群。 単位・型 なし 省略時のデフォルト値 なし 親タグ smtp-server コラム
本設定は 2018 Summer(Tiffany) 以降、利用可能です。
メールセッションプロパティ設定¶
タグ名 session-property JavaMailによるメール操作実行時のメールセッションのプロパティを設定します。JavaMailの仕様により定義されているプロパティの値を設定してください。【設定項目】
<javamail-config> <smtp> <smtp-server id="default" host="localhost" port="25"> ... <session-properties> <session-property name="mail.smtp.xxxx" value="yyyy"/> </session-properties> ... </smtp-server> </smtp> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 メールセッションのプロパティ。 単位・型 なし 省略時のデフォルト値 なし 親タグ session-properties 【属性】
属性名 説明 必須 デフォルト値 name メールセッションのプロパティ名を設定します。 ○ なし value メールセッションのプロパティ値を設定します。 ○ なし コラム
本設定は 2018 Summer(Tiffany) 以降、利用可能です。
コラム
メール送信時には一部のプロパティが自動的にメールセッションプロパティとして設定されます。自動的に付与されたメールセッションプロパティと本設定のメールセッションプロパティが重複した場合、本設定のメールセッションプロパティが優先されます。注意
JavaMailの仕様で定義されている各プロパティの挙動については動作保証は行っていません。
コンテンツタイプ群¶
タグ名 content-type メール送信時に添付するファイルのコンテンツタイプ群の設定を行います。【設定項目】
<javamail-config> <content-type> ... </content-type> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 メール送信時に添付するファイルのコンテンツタイプ群を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javamail-config
コンテンツタイプ設定¶
タグ名 file メール送信時に添付するファイルのコンテンツタイプの設定を行います。コンテンツタイプの設定は添付ファイルの拡張子に対しての設定です。【設定項目】
<javamail-config> <content-type> <file extension=".txt" content-type="text/plain"/> <file extension=".gif" content-type="image/gif"/> <file extension=".jpg" content-type="image/jpeg"/> <file extension=".png" content-type="image/png"/> </content-type> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 メール送信時に添付するファイルのコンテンツタイプを指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ content-type 【属性】
属性名 説明 必須 デフォルト値 extension 拡張子を指定します。必ずピリオド(.)で始まる形式で記述してください。 ○ なし content-type コンテンツタイプ属性です。拡張子に対応したコンテンツタイプを設定します。 ○ なし
リスナ群設定¶
タグ名 listener メール送信時に動作するリスナ群を指定します。【設定項目】
<javamail-config> <listener> <listener-class></listener-class> </listener> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 メール送信時に動作するリスナ群を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javamail-config
リスナ設定¶
タグ名 listener-class メール送信時に動作するリスナを指定します。指定するリスナは、jp.co.intra_mart.foundation.mail.javamail.listener.MailSendListenerインタフェースを実装する必要があります。デフォルトでは、以下のリスナが設定されています。
半角カナを全角カナに変換する為のリスナ(jp.co.intra_mart.foundation.mail.javamail.listener.impl.HalfKanaTransrateListener) From や Reply-To に指定したアドレスを設定に応じて強制的に書き換えるリスナ(jp.co.intra_mart.foundation.mail.javamail.listener.impl.RewritingMailAddressListener)コラム
From や Reply-To に指定したアドレスを設定に応じて強制的に書き換えるリスナ(jp.co.intra_mart.foundation.mail.javamail.listener.impl.RewritingMailAddressListener)は、2023 Spring(Gerbera) 以降で利用可能です。【設定項目】
<javamail-config> <listener> <listener-class></listener-class> </listener> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 メール送信時に動作するリスナを指定します。 単位・型 文字列 省略時のデフォルト値 なし 親タグ listener
メールヘッダ群設定¶
タグ名 mail-headers メールヘッダ群を指定します。【設定項目】
<javamail-config> <mail-headers> ... </mail-headers> </javamail-config>
必須項目 × 複数設定 × 設定値・設定する内容 メール送信時に付与されるメールヘッダ群を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javamail-config
メールヘッダ設定¶
タグ名 header メール送信時に付与する任意のメールヘッダを指定します。同じヘッダが複数指定された場合は、最下行に指定されたものがヘッダとして付与されます。API(jp.co.intra_mart.foundation.mail.javamail.StandardMail#addHeader)で同じヘッダが指定された場合は、APIで指定されたものがヘッダとして付与されます。【設定項目】
<javamail-config> <mail-headers> <header name="Error-To" value="xxxx@intra-mart.jp" /> </mail-headers> </javamail-config>
必須項目 ○ 複数設定 ○ 設定値・設定する内容 メール送信時に付与する任意のメールヘッダを指定します。 単位・型 文字列 省略時のデフォルト値 なし 親タグ mail-headers 【属性】
属性名 説明 必須 デフォルト値 name メールヘッダ名を設定します。 ○ なし value メールヘッダ値を設定します。 ○ なし
メールエンコード設定¶
タグ名 encode ロケールに対応したメールエンコードに関する設定を行います。locale属性が設定されていない要素は、ロケールに対応したメールエンコードが定義されていない場合に利用されるデフォルトの設定です。【設定項目】
<javamail-config> <encode> <charset>UTF-8</charset> <mime-encoding>B</mime-encoding> <content-transfer-encoding>base64</content-transfer-encoding> </encode> </javamail-config>
必須項目 × 複数設定 ○ 設定値・設定する内容 ロケールに対応したメールエンコードに関する設定を行います。 親タグ javamail-config 【属性】
属性名 説明 必須 デフォルト値 locale ロケールIDを指定します。 × なし
文字コード設定¶
タグ名 charset 文字コードの指定を行います。【設定項目】
<javamail-config> <encode> <charset>UTF-8</charset> ... </encode> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 文字コードの指定を行います。 単位・型 文字列 省略時のデフォルト値 なし 親タグ encode
MIMEエンコード設定¶
タグ名 mime-encoding MIMEエンコードの指定を行います。指定可能な値は B または Q です。【設定項目】
<javamail-config> <encode> ... <mime-encoding>B</mime-encoding> ... </encode> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 MIMEエンコードの指定を行います。 単位・型 文字列 省略時のデフォルト値 なし 親タグ encode
ボディエンコード設定¶
タグ名 content-transfer-encoding ボディのエンコードの指定を行います。7bit、8bit、base64、または、quoted-printable 等の値を指定します。【設定項目】
<javamail-config> <encode> ... <content-transfer-encoding>base64</content-transfer-encoding> </encode> </javamail-config>
必須項目 ○ 複数設定 × 設定値・設定する内容 ボディのエンコードの指定を行います。 単位・型 文字列 省略時のデフォルト値 なし 親タグ encode