サポート > Wagby定義ファイル > 16 メール送受信 > 時間指定によるメール送信

ある条件に合致したデータに対して、時間指定によるメール送信を行うことができます。 R6.0.1

本機能は Wagby Enterprise/Pro Unlimited/Pro でご利用頂けます。

Wagby定義ファイルの設定

  1. 対象モデルのモデル定義シートから「メール設定」ボタンを押下し、メール設定画面へ移動します。

    図1 モデル定義シート
  2. メール設定シートにある「ジョブ定義」を行います。1 つのモデルについて、最大で 10 種類のメール送信ジョブ定義を行うことができます。

    図2 メール送信ジョブの設定
    項目 説明
    ジョブ名 このアプリケーションシステム全体で、重複しないジョブ名(英語)を指定します。メール送信の場合は "SendMail" + (モデル名) + "Job" とするとよいでしょう。
    説明 自由に記述してください。
    起動条件 メール送信を行う条件を指定します。この欄が空白の場合は、全データにメールを送信します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。なお、Wagby が提供する計算式に使える関数を指定することもできます。

    上記の図2 の例は「最後に更新した日から 14 日が経過し、ステータスコードが '1' で、メール送信回数が 3 回未満の場合」という内容になっています。(* 補足情報...)
    成功時のアクション メール送信が成功したあとに行う処理を指定します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。なお、Wagby が提供する計算式に使える関数を指定することもできます。また、「=」を使った代入文を指定することもできます。
    失敗時のアクション メール送信が失敗したあとに行う条件を指定します。対象モデルに関する項目は "${" + (項目名) + "}" で表現します。なお、Wagby が提供する計算式に使える関数を指定することもできます。また、「=」を使った代入文を指定することもできます。
    メールサーバ メールサーバ名を指定します。(例) mailserver.YOURCOMPANYNAME.co.jp
    件名 送信するメールの題名を記述します。プレースホルダを指定することができます。
    差出人 送信元のメールアドレスを指定します。プレースホルダを指定することができます。
    宛先人 送信先のメールアドレスを指定します。プレースホルダを指定することができます。
    CC カーボンコピーのメールアドレスを指定します。プレースホルダを指定することができます。
    BCC ブラインドカーボンコピーのメールアドレスを指定します。プレースホルダを指定することができます。
    本文 メールの本文を記述します。プレースホルダを指定することができます。
  3. Wagby 定義ファイルを保存し、ビルドを行います。

スケジュールの設定

  1. ビルドした Web アプリケーションを起動し、管理者でログオンします。

    図3 管理者画面
  2. メインメニューから「ジョブスケジュール検索」ボタンを押下します。

    図4 ジョブスケジュール検索ボタン
  3. ジョブスケジュール検索画面が表示されますので、「登録画面へ」ボタンを押下します。

    図5 ジョブスケジュール登録画面
  4. はじめに、対象ジョブを選択します。この選択肢は図2で登録したメール送信設定の「ジョブ名」が表示されています。

    図6 ジョブの選択
  5. 次に、このジョブ(メール送信処理)を起動する時間を指定します。図7 の例では 30 分毎にこの処理を行うものです。

    図7 スケジュールの指定
    この詳細については、ジョブスケジュールの指定方法をお読みください。 「有効」フラグをチェックすると、次回にこの Web アプリケーションを起動したときにジョブが有効になります。
  6. 設定を保存します。
  7. 図7 で「有効」にチェックが入ったジョブが起動時に読み込まれ、動作が開始されます。Web アプリケーションを再起動する必要はありません。

    ジョブが正しく読み込まれている場合は次のようなログがwagbyapp¥logs¥system.logに出力されます。

    2008-06-19 17:32:11 [INFO jp.jasminesoft.wagby.app.jfcjobschedule.JFCQuartzJobManagerImpl process] InsertOrderFromMailJob is successfully registerd, 0 0,30 * * * ?
    

実行例

指定した時間にメールが送信されます。メールが送信されたことは、管理者メニューの「システムログ閲覧」画面、または wagbyapp¥logs¥system.logで確認できます。

...
2008-06-19 17:41:45 [INFO jp.jasminesoft.jfc.JFCJobTriggerListener triggerFired] Job 'SendMailOrderJob' is fired.
2008-06-19 17:41:45 [INFO jp.jasminesoft.wagby.app.order.ShowListOrderProcessBean run]
2008-06-19 17:41:45 [INFO jp.jasminesoft.wagby.app.order.ShowListOrderProcessBean process] process time is 21 msec.
2008-06-19 17:41:45 [INFO jp.jasminesoft.wagby.app.order.GetCountOrderProcessBean process] process time is 8 msec.
2008-06-19 17:41:45 [INFO jp.jasminesoft.jfc.job.SendMailJob executeInternal] SendMailProcess is finished. the number of sending mail is 1
2008-06-19 17:41:45 [INFO jp.jasminesoft.jfc.JFCJobTriggerListener triggerComplete] Job 'SendMailOrderJob' is successfully completed.
...

成功時/失敗時アクション指定時に更新日付を変更させないようにするR6.2.0

このモデル定義に「固定値(更新した日付と時間)」を用意していた場合、注意が必要です。
成功時、失敗時のアクションを指定した場合、この値(更新日付時間)は変更されます。

この自動変更を抑制するために、R6.2.0 から SKIPUPDATETIME() を用意しました。例えば次のように記述します。

${sendmailcount}=${sendmailcount}+1;SKIPUPDATETIME()

この例のように成功時・失敗時のアクション指定について、セミコロンの後に SKIPUPDATETIME() と指定することで更新日付時間を変更しないようにすることができます。