メールを送信する

最終更新日: 2021年12月8日
R8 | R9

MailMessageマネージャを利用する

MailMessageManager とは、メール送信を行うユーティリティクラスです。これをスクリプトから使うことができます。

var replaceMap = new java.util.HashMap();
replaceMap.put("${message}", "Hello Wagby");
var mailman = p.appctx.getBean("MailMessageManager");
mailman.send("model1_update", replaceMap, errorManager, "Execute Script ", p);
  • 1行目の replaceMap は Java 標準クラス java.util.HashMap のインスタンスです。メールテンプレートに用意されたプレースホルダを置換するためのルールを設定します。キー部分がプレースホルダ名で、値部分が(プレースホルダを置換する)値になります。
  • 2行目でプレースホルダの値を設定しています。
  • 3行目で MailMessageManager オブジェクトを取得しています。
  • 4行目でメール送信を行っています。send メソッドの引数を以下に説明します。
  • 上の例では用いていませんが、mailman.send の戻り値は boolean 型です。メール送信に成功した場合はtrueを返します。失敗した場合はfalesを返します。

MailMessageManager の send メソッドの引数

引数 説明
1 メールテンプレート識別子を指定します。
2 スクリプト中に用意したプレースホルダの置換マップを指定します。
3 エラーメッセージを扱うオブジェクトです。スクリプト中で暗黙に利用できます。このとおりに指定してください。
4 エラー発生時にログファイルに情報が出力されますが、そのときのログファイルのメッセージの先頭に埋め込まれる文字列(ログヘッダ)です。ログファイルを検索するときに用いることができます。任意の文字列を指定してください。ログファイルを見やすくするため、末尾に空白を一つ加えるとよいです。
5 pはスクリプト中で暗黙に利用できる特別なオブジェクトです。このとおりに指定してください。

MailMessageManager の戻り値

メール送信が成功した場合はtrueが返ります。失敗した場合はfalseが返ります。

ファイルを添付する

contact モデルにファイル型項目 attachment が用意されていたとき、マップに次のように二つの値を格納します。前者はファイル名で、後者が実際のファイル(のパス)に相当します。

var replaceMap = new java.util.HashMap();
replaceMap.put("${contact_p.attachment}", contact.attachment);
replaceMap.put("${contact_p.attachment_jshfilename}", contact.attachmentJshfilename);
var mailman = p.appctx.getBean("MailMessageManager");
mailman.send("contactpattern1", replaceMap, errorManager, "Execute Script ", p);

メールテンプレート(上の例では "contactpattern1")で、「添付ファイル」欄に ${contact_p.attachment}を設定します。