メールを送信する

最終更新日: 2021年10月5日

概要

各ノードにおける「イベント」(承認、差し戻しなど)の発生タイミングで、メールを送信することができます。

メール送信機能

メールの送信元(発信者 "From")と、送信先(受信者 "To")を固定するのではなく、ノードに割り当てられたユーザ・グループに送信するように設定できます。

年休申請モデルへの適用

年休申請モデルに「メールアドレス」「次のメールアドレス」「申請者のメールアドレス」項目を追加した例です。

メールアドレス項目を追加した年休申請モデル

メールアドレス

現在、ログオンしているアカウントのメールアドレスを格納します。ログオンするアカウントによって値が変わるため、データベースに値を保存しません。

データベースに値を保存しない

USERINFO関数

スクリプトで、項目「メールアドレス」にUSERINFO関数の値をセットします。

メールアドレス項目への式の設定(1)
メールアドレス項目への式の設定(2)

USERINFO関数のパターンに "メールアドレス" を設定します。

メールアドレス項目への式の設定(3)

次のメールアドレス

申請時であれば次の承認者へ、承認時であれば次の承認者(または決裁者)というように、次のノードのメールアドレスを格納する項目を用意します。 ワークフローの進み方によって値が変わるため、データベースに値を保存しません。

データベースに値を保存しない

WF_NEXT_MAIL関数

次のノードにかかわる処理対象アカウントのメールアドレスを取得する関数は WF_NEXT_USERID_MAIL, WF_NEXT_GROUPID_MAIL, WF_NEXT_MAIL があります。ここでは WF_NEXT_MAIL を適用した例を示します。

次のメールアドレス項目への式の設定(1)
次のメールアドレス項目への式の設定(2)
次のメールアドレス項目への式の設定(3)

それぞれの関数の違いは次のとおりです。

関数 DB保存 使い分け
WF_NEXT_USERID_MAIL 文字列 しない グループ宛にメールを送る必要がない場合
WF_NEXT_GROUPID_MAIL 文字列 しない ユーザー宛にメールを送る必要がない場合
WF_NEXT_MAIL 文字列 しない ユーザー、グループのいずれにもメールを送る可能性がある場合

ワンポイント

動作確認後は、「次のメールアドレス」項目は、隠し項目にするとよいでしょう。

差し戻しの場合のメールアドレスは?

WF_NEXT ではじまる関数では、差し戻し時には差し戻し先のユーザ(またはグループ)のメールアドレスが適切にセットされます。

申請者のメールアドレス

申請者のメールアドレスを保持します。この値も計算によって常に取得できるため、データベースに値を保存しません。

データベースに値を保存しない

WF_APPLICANT_MAIL関数

申請者のメールアドレスを取得する関数 WF_APPLICANT_MAILo を適用します。

申請者のメールアドレス項目への式の設定(1)
申請者のメールアドレス項目への式の設定(2)
申請者のメールアドレス項目への式の設定(3)

アカウントへのメールアドレス設定

アカウント

申請者や承認者になるアカウントに、メールアドレスを設定してください。

アカウントにメールアドレスを設定する

グループ

グループにメールアドレスを設定することもできます。

グループにメールアドレスを設定する

ワンポイント

グループに設定するメールアドレスは、(複数の)個人メールアドレスへのエイリアスとするとよいでしょう。詳細はメールサーバ管理者へお問い合わせください。

メールテンプレートの用意

フローイベントのタイミングで送信されるメールテンプレートをあらかじめ作成しておきます。ここでは申請時と、承認(決裁)時に送信されるメールテンプレートを用意します。

システム管理者でログオンし、管理処理メニューのメールテンプレートを開きます。

メニューからメールテンプレートを選ぶ

メールテンプレートのID値は任意の文字列を指定してください。各項目にはプレースホルダを指定できます。各項目の設定方法およびメールサーバ設定の詳細は「システムの管理>メールテンプレート」をお読みください。

ここでは宛先(To)を${年休申請.次のメールアドレス}とし、次の承認者へ連絡するようにします。

申請時に送信されるメールテンプレートの作成(1)
申請時に送信されるメールテンプレートの作成(2)

同様に、承認時のメールテンプレートも用意します。宛先(To)を${年休申請.申請者のメールアドレス}とし、申請者へ連絡するようにします。

承認時に送信されるメールテンプレートの作成

ワークフローの設定

「順次・順次」(申請→承認→決裁) フローを用意します。ここでは申請者を総務部グループとし、決裁者を suzuki としています。

フロー参加者の設定

ワークフローの更新画面を開き、メール設定を行います。「追加」ボタンをクリックします。

メールの設定(1)

ノード(この例では「申請」と「決裁」)ごとに、メール送信のタイミングとメールテンプレートを指定することができます。

ノードごとにメール送信タイミングとメールテンプレートを指定する(申請時)
ノードごとにメール送信タイミングとメールテンプレートを指定する(決裁時)

申請ノードでは「申請」タイミングを、決裁ノードでは「決裁」タイミングをそれぞれ指定した例です。

ワークフローメール設定(1)

決裁ノードで「決裁」タイミングと「差し戻し」タイミングをそれぞれ指定した例です。

ワークフローメール設定(2)

メール送信タイプ

各メール送信タイプの動作は次の通りです。

メール送信タイプ 動作
新規登録 ワークフロー対象のモデルでデータを新規登録した場合(保存ボタンクリック時)に送信されます。
申請 ワークフロー申請ボタンクリック時に送信されます。
承認 ワークフロー承認ボタンクリック時に送信されます。
却下 ワークフロー却下ボタンクリック時に送信されます。
保留 -(動作しません)
差し戻し ワークフロー差し戻しボタンクリック時に送信されます。
取り消し -(動作しません)
決裁 ワークフロー決裁者(フローの最終ノードに割り当てられている人)による承認クリック時に送信されます。

同じノードに複数のメール送信タイプを設定する

一つのノードにそれぞれ複数のメール送信タイプの組み合わせを用意することができます。承認ノードの承認時に送信するメールと、同じ承認ノードの却下時に送信するメール、などです。

異なるノードに同じメール送信タイプを設定する

5つのノード「担当者→課長→部長→購買部→購買部部長」からなるフローパターンを想定します。 「課長→部長→購買部」はそれぞれ異なる3つのノードですが、同じメール送信タイプ「承認」を設定することができます。

  1. 担当者が「申請」した時、"課長宛てテンプレート"で申請メールを課長に送信。
  2. 課長が「承認」した時、"部長宛てテンプレート"で1次承認メールを部長に送信。
  3. 部長が「承認」した時、"購買部宛てテンプレート"で2次承認メールを購買部に送信。
  4. 購買部が「承認」した時、"購買部部長宛てテンプレート"で3次承認メールを購買部部長に送信。
  5. 購買部部長が「決裁」した時、"申請者宛てテンプレート"で決裁完了メールを申請者に送信。

動作例

申請と承認の2ノード構成で、申請は総務部(に所属する"佐藤")、承認は"鈴木"という例を使って説明します。

申請

データの新規登録画面です。アカウント "佐藤" のメールアドレスが設定されています。ワークフローは申請前のため、次のメールアドレスは空白です。

データの新規登録

申請を行います。

申請する

次のメールアドレスの値が設定されます。このタイミングで、申請時のメール設定が動作します。例えばメールテンプレートで差出人を(自身の)メールアドレスに、宛先人を次のメールアドレスに設定すると、このメールアドレスが使われます。

申請時のメール送信が実行される

決裁

アカウント "鈴木" のメールアドレスが設定されています。承認ボタンをクリックします。

承認を行う

このタイミングで、決裁時のメール設定が動作します。決裁のため、次のメールアドレスは空白になります。例えばメールテンプレートで差出人を(自身の)メールアドレスに、宛先人を申請者のメールアドレスにする、といった使い方があります。

決裁時のメール送信が実行される