メール送受信

最終更新日: 2022年4月20日
R8 | R9

概要

Wagbyはデータの登録、更新、削除、表示といったさまざまなタイミングでのメール送信機能をサポートしています。また時間指定によるメール送信やメール受信(データ取り込み)機能も実現しています。

内容

(1) メール送信(メールテンプレートを固定する)
メールの宛先、本文などをテンプレートとして用意します。その内容でメールを送信することができます。
(2) メール送信(実行時にメールテンプレートを指定する)
複数のメールテンプレートを用意し、送信時にどのテンプレートを使うかを指定することができます。
(3) メール送信(ジョブによる時間指定)
ある条件に合致したデータに対して、時間指定によるメール送信を行うことができます。
(4) メール受信(ジョブによる時間指定)
時間指定によるメール受信を行うことができます。メール本文を解析し、データとして登録します。
(5) メールサーバのサンプル
代表的なメールサーバのサンプルを紹介します。
(6) メールヘッダを使ってメールのスレッド表示を実現する
メールのヘッダ情報である Message-ID と In-Reply-To を指定してメールソフトのスレッド表示に対応する方法を紹介します。

文字エンコーディング

メール送信時に利用する文字エンコーディングは次の通りです。

バージョン 文字エンコーディング
R9.1.0〜 utf-8
R9.0.0〜R9.1.0 iso-2022-jp

変更方法9.1.1

古いメーラーとの互換性のために iso-2022-jp を使う必要があるという場合は wagbyapp/conf/catalina.properties に次の設定を追加してください。

mail.mime.charset=iso-2022-jp
mail.mime.encodefilename=true

customize/tomcat/conf/mycatalina.propertiesファイルを作成し、この記述を行うことで、ビルド時に反映されます。

メール送信上限数の設定9.1.1

1日あたりのメール送信数の上限を設定することができます。

この値を設定することで、大量のメールを送信したとき、受け側のメールサーバが迷惑メールと判断することを避けることができます。

出荷時は「上限の設定なし」です。

設定方法

カスタマイズフォルダ customize/resources に myapplication.properties ファイルを用意し、次の行を加えます。

wagby.mailsend.sendcount.limit
1日にチェックするsendcountの数。1日に何通送れるかを指定する。デフォルト値は "-1" (チェックしない)。
例えばこの値に "2" を設定したとき、2通目は送られるが、3通目の送信は失敗する。
この値を "0" にすると送信自体が行われなくなる。
オートスケール環境ではシステム全体ではなく1つのインスタンスに対しての制限となる。
wagby.mailsend.sendcount.interval
wagby.mailsend.sendcount.limitが有効 (2以上の値) のとき、この設定も有効になる。
一日にチェックするsendcountの間隔。
単位はミリ秒。デフォルト値 86400000ミリ秒。
0以下の場合はチェックを行わない。

環境変数を利用する

Wagbyアプリケーション(Tomcat)を実行するときに、同時に環境変数を指定することで挙動を変えることもできます。

WAGBY_MAILSEND_SENDCOUNT_LIMIT
wagby.mailsend.sendcount.limitと同じ。
WAGBY_MAILSEND_SENDCOUNT_INTERVAL
wagby.mailsend.sendcount.intervalと同じ。