intra-mart Accel Platform 設定ファイルリファレンス 第35版 2024-10-01

メール設定

概要

メール送信に関する設定です。
デフォルトの設定としてjavamail-config.xmlが用意されています。
多言語対応として、javamail-config_{ロケールID}.xmlが存在します。

モジュール メールモジュール
フォーマットファイル(xsd) WEB-INF/schema/javamail-config.xsd
設定場所
WEB-INF/conf/javamail-config/javamail-config.xml
WEB-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