メール送受信

最終更新日: 2024年2月16日
R8 | R9

概要

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

Google社のメール送信ガイドライン [2024.2]

2024年2月よりGoogle社は新しいメール送信者のガイドラインを定めました。

Wagbyのメール送信機能でGoogleのメールアドレスに届かないという場合、下記ページをご確認いただき、ガイドラインに沿った設定を行ってください。
メール送信者のガイドライン

このガイドラインの要件の一つとして、メール送信者のドメインに対応するDNSサーバにSPFレコードを設定する必要があります。 また、送信件数の上限に関してDKIM/DMARCへの対応が求められる場合があります。詳細はGoogle社の説明ページもしくは本件を詳細に説明しているブログ記事などをご確認ください。(これらの設定も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と同じ。