メール送信(ジョブによる時間指定)
最終更新日: 2023年10月30日
R8 | R9
このページを読む前に、「メール送信(メールテンプレートを固定する)」に目を通しておいてください。
モデルの「メール>送信(ジョブ)」タブを開きます。メール送信に関するジョブを複数、設定することができます。
1つのジョブの設定は、1つの「メールテンプレート」と紐づけます。
ビルドしたアプリケーションにシステム管理者でログオンします。図1に設定したメールテンプレートの詳細な設定を行います。メールテンプレートの新規登録を行います。(図2,図3)
メールテンプレートの詳細な定義方法は「メール送信>定義方法>メールテンプレートの設定」をお読み下さい。
「ID」は、図1の「メールテンプレート項目」に記載したものと同一としてください。(図1で「メールテンプレート項目」を空白とした場合は「ジョブ名」で設定した値としてください。)
「サポート>管理者ガイド>準備:ジョブ実行アカウントを利用可能にする」の手順に従って jobadmin アカウントを有効にします。
メール送信の対象モデルの操作権限(プリンシパル)をjobadminアカウントに与える必要があります。図4の例では「一般ユーザ」プリンシパルを付与した例です。
ジョブスケジュールの新規登録を行います。
上の手順4でジョブ名が選択できない場合、ビルド後に旧データをすべてインポートした可能性があります。追加したジョブは「ジョブマスタ」モデルとして用意されており、ビルド後の "data_init" フォルダにエクスポートデータが記載されていますが、旧データには存在しません。そのため、旧データを取り込んだタイミングで、ジョブ情報が古いデータとなっています。
この対応として、旧データインポート後、あらためてインポートフォルダ名に "data_init" フォルダを指定し、「システムによって提供されるモデル一覧 > ジョブマスタ」をインポートしてください。これによって(追加した)ジョブを認識できるようになります。
ジョブを一時的に無効にすることができます。
ジョブの実行結果をメールで送信することができます。(すでにメール送信機能で「メールテンプレート」を利用しているため、ここではメールテンプレートを利用せず、直接ジョブパラメータを加えてください。)
ジョブの多重実行を行うことはできません。
あるジョブを 1 分毎に起動させるようにした場合、1 分後にこのジョブの実行が終了していなければ、新しいジョブは実行されません。
権限が不足しているというエラーです。ジョブ実行アカウント jobadmin に当該データを操作(閲覧または更新)するプリンシパルが付与されていない可能性があります。例えば「一般」プリンシパルが付与されていない場合、多くのデータの操作が行えません。
また、このモデルに独自のプリンシパルを設定している場合、必要なプリンシパルを jobadmin に付与してください。
項目ごとに権限設定を行っていないか確認してください。ジョブ実行アカウント jobadmin に適切な権限が割り当てられていない場合、権限によって不可視となった項目はプレースホルダで置換されません。
ジョブの設定
重要
項目
説明
入力例
ジョブ名
このアプリケーションシステム全体で、重複しないジョブ名(英語)を指定します。メール送信の場合は "SendMail" + (モデル名) + "Job" とするとよいでしょう。
SendMailLeaveJob
説明
自由に記述してください。
-
起動条件
メール送信を行う条件を指定します。この欄が空白の場合は、全データにメールを送信します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。関数を使うこともできます。
${item1} == 0
※ 数値項目の場合
EXACT(${item1},"MOJI")
※ 文字列型項目の場合
成功時のアクション
メール送信が成功したあとに行う処理を指定します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。関数を使うこともできます。「=」を使った代入文を指定することもできます。
失敗時のアクション
メール送信が失敗したあとに行う条件を指定します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。関数を使うこともできます。「=」を使った代入文を指定することもできます。
メールテンプレート項目
後述する「メールテンプレート」の識別子(ID)になります。重複しない名前を英数字の組み合わせで決めてください。この値が空白の場合、「ジョブ名」がメールテンプレートIDとして利用されます。
SendMailLeaveJobTemplate
メール送信制御
最大同時送信回数
メールサーバの負荷を減らすために一度に送るメールの送信回数(*)を制限します。
送信回数が指定した数を超えた場合、「待ち時間」で指定した時間だけ処理を中断した後に、送信処理を再開します。
入力がない場合は無制限となります。
一度に大量のメールを送信すると、メールサーバがスパムメール(迷惑メール)と判断することがあります。適切な値を調整してください。
10
待ち時間(秒)
送信回数が指定した最大同時送信数を超えた場合、指定した時間だけ処理を中断した後に送信処理を再開します。
入力がない場合は 0秒となります。
メール送信を連続して行うと、メールサーバがスパムメール(迷惑メール)と判断することがあります。適切な待ち時間を設定してください。
30
メールテンプレートの設定
ジョブスケジュールの設定
ジョブ専用アカウントjobadminの設定
スケジュールの設定
ジョブ名が選択できない場合
ジョブの実行を停止する
実行結果をメールで送信する
多重実行の抑制
トラブルシューティング
ログに java.lang.SecurityException が出力され、ジョブが実行されない
ジョブによる送信で、一部の項目がプレースホルダで置換されない