前: 基本編

  • 基本編: 固定の宛先・内容のメールを送る
  • 内容設定編: プロセスによって、メールの内容を変更する
  • 宛先設定編: プロセスによって、メールの宛先を変更する
  • メール調査編: メールが届かなかった時のトラブルシューティングについて

プロセスによって、メールの内容を変更する

「基本編」では、「メッセージ送信中間イベント(メール)」を最低限動作させるアプリを作成しました。今回の「内容設定編」では、メールの件名や本文、添付ファイルなどを、「確認」タスクから設定できるようにアプリを変更します。また、「メッセージ送信中間イベント(メール)」が作成するメール本文のテンプレートをさらに整ったものにします。

  • 「確認」タスクで件名を入力する
  • 「確認」タスクで本文の一部を入力する
  • 「確認」タスクでメールに添付するファイルを指定する
  • メールを送信したアプリ名を本文に挿入する
  • プロセス詳細ページの URL を本文に挿入する
  • メールにプロセス開始者の署名を入れる

これらを組み合わせられれば、送信できるメールの内容がぐっと広がります。一つずつ見ていきましょう。「基本編」で作成した「メッセージ送信中間イベント(メール)テスト」アプリのモデラーを起動してください。

以降、上の 6 項目についてアプリの設定方法を一つずつ説明します。設定した結果については記事の最後で触れますが、各項目の終わりでアプリを保存・リリースし、動作を確認してみても構いません。

「確認」タスクで件名を入力する

まず、「件名」のデータ項目を「確認」タスクから編集できるようにしてください。データ編集許可の設定は「確認」タスクのプロパティか、「データ項目タブ→データ編集許可設定」から変更できます。

タスクのプロパティから設定するほうが簡単

これで「確認」タスクの入力フォームで「件名」が入力できるようになりました。あとは「メッセージ送信中間イベント(メール)」が作成するメールのテンプレートに、「件名」のデータ項目を埋め込むだけです。「メッセージ送信中間イベント(メール)」のプロパティを開いてください。「データ埋込」メニューから「件名」を選択して「クリップボードにコピー」ボタンを押すと、データ埋込み用の文字列がクリップボードにコピーされます。「標題」に文字列をペーストすることで、データ項目「件名」の内容が送信されるメールの標題に設定されます。

「データ埋込」からコピーして、埋め込みたい箇所にペーストする

この「メッセージ送信中間イベント(メール)」のプロパティで行う手順によって、データ項目やプロセス固有の情報をメールに埋め込むことができます。以降の内容でもこの手順を何度も踏みますので、覚えておいてください。

「確認」タスクで本文の一部を入力する

「確認」タスクで入力された文章が自動送信メールの本文に埋め込まれるようにしましょう。まずは「確認」タスクに入力フォームを追加するため、「文字」型データ項目を追加してください。各設定項目は次のように変更してください。

項目名 本文
データタイプ 文字・複数行
データ編集許可 「確認」タスク: 編集可

本文に埋め込みたいデータ項目が用意できたので、あとは「件名」と同じように「メッセージ送信中間イベント(メール)」プロパティで埋込み設定をしましょう。

埋込みの手順は「件名」と同じ
埋込み文字列の数字部分がお手元の環境と違うかもしれませんが、気にする必要はありません。数字部分はデータ項目番号なので、ズレることがあります。

「メッセージ: ${[本文:1]}」のように入力すると、例えばデータ項目「本文」の内容が「こんにちは」の場合、「メッセージ: こんにちは」という本文が生成されます。このように、そのときどきで書き換えたい部分をデータ埋込にすることで、柔軟にメールの内容を変えられるようになります。

「確認」タスクでメールに添付するファイルを指定する

先ほど本文に埋め込んだのは「文字」型データ項目でしたが、「ファイル」型データ項目を埋め込むとメールにファイルを添付することができるようになります。「ファイル」型データ項目を追加し、次のように設定してください。

項目名 添付ファイル
総ファイルサイズの最大値 5MB
説明 ファイルサイズの合計を 5 MB 以下にしてください。
データ編集許可 「確認」タスク: 編集可
Questetra BPM Suite が送信するメールのサイズは 10MB 以内である必要があるため、添付ファイルの合計サイズは 5MB 以下としておきます。

「確認」タスクで編集できるように設定することで、「確認」タスクの入力フォームにファイルアップロード欄が表示されるようになります。そして「メッセージ送信中間イベント(メール)」のプロパティで次のように埋込み設定をしてください。

埋込みの手順は「件名」と同じ

ファイル型データ項目を埋め込むことで、「確認」タスクでアップロードされたファイルがメールに添付されます。本文の ${[添付ファイル:2]} の部分には添付されたファイル名が埋め込まれます。複数添付した場合はカンマ区切りでファイル名が並べられます。1 つも添付しなかった場合は何も挿入されません。

メールを送信したアプリ名を本文に挿入する

メールの受信者が「どのアプリがメールを送ってきたのか」がわかるように、メールの本文にアプリ名を埋め込みましょう。アプリ名は、データ項目を用意しなくてもデータ埋込することができます。

「アプリ名」の項目は用意されているので、コピー&ペーストするだけ

プロセス詳細ページの URL を本文に挿入する

「どのような処理を経てこのメールが届いたのか/これからどういう処理に続くのか」ということをメールの受信者が知りたい場合、プロセス詳細ページが開けると便利です。本文にプロセス詳細ページの URL を入れるようにしましょう。

プロセス詳細ページの URL は http://example.questetra.net/OR/ProcessInstance/listView?processInstanceId={プロセス ID} というフォーマットです。このうち http://example.questetra.net/ の部分は、「システム変数: アプリケーションルート URL」という名称でデータ埋込ができるようになっています。プロセス ID も埋込が可能なので、プロセスに応じてこの URL を動的に生成することができます。

データを組み合わせて URL を作る

上のスクリーンショットのように、 ${var[applicationRoot]}OR/ProcessInstance/listView?processInstanceId=${[プロセスID]} となるように入力してください。「システム変数: アプリケーションルート URL」をコピーすると ${var[applicationRoot]} が、「プロセス ID」をコピーすると ${[プロセスID]} がクリップボードにコピーされます。間の OR/ProcessInstance/listView?processInstanceId= の部分は手入力で補ってください。

メールにプロセス開始者の署名を入れる

最後に、メールに署名を入れましょう。今回はプロセス開始ユーザの名前を本文末尾に入れることにします。これもコピー&ペーストするだけで埋め込むことができます。

「プロセス開始ユーザ」の項目も用意されているので、埋込み文字列をペーストする

では、これでアプリの設定は完了です。保存・リリースしてアプリの動作を確認してみましょう。「ワークフロー→新規開始」から、アプリ「メッセージ送信中間イベント(メール)テスト」のプロセスを開始してください。

「確認」タスクで編集可になっているデータ項目は「件名」「本文」「添付ファイル」の 3 つですので、入力フォームはこのようになっているはずです。それぞれ何か入力して、「処理完了」してみてください。

複数ファイルの添付なども試してみましょう

入力した内容は反映されていましたか? また、プロセス詳細ページの URL が正しいかも確認しましょう。問題なければ「内容設定編」の内容は終わりです。だいぶ実用的な設定ができるようになってきましたね。

次回は「宛先設定編」として、現在は固定しているメールの宛先を状況に応じて変更するための設定を紹介します。

次: 宛先設定編


付録: 他のデータタイプ項目の埋込み

今回は「件名」「本文(文字型)」「添付ファイル(ファイル型)」のデータ項目をメールに埋込みましたが、それ以外のデータ型も埋込むことができます。ここでは簡単に、埋め込んだ際の結果だけ紹介します。

左のようにメールに埋め込むと、右のように表示されます。埋め込み方自体は文字型やファイル型と同じです。記事本文で紹介したデータタイプ以外も使用したい場合に参考にしてください。

“ワークフローの途中でメールを自動送信しよう(内容設定編)” への1件のコメント

  1. ピンバック: ワークフローの途中でメールを自動送信しよう(宛先設定編) – Questetra Support

コメントは受け付けていません。