2025/05/14

@MailSend の動作 ②

@MailSend の紹介です。この関数は、引数なしと引数ありの構文があり、前回は引数なしの動作について説明しました。今回は引数ありのパターンの使い方についてまとめます。


構文

まずは、構文の確認です。

@MailSend( sendTo ; copyTo ; blindCopyTo ; subject ; remark ; bodyFields ; flags )

各引数にセットする値と役割は次の通りです。

1 sendTo 文字列
文字列リスト
メールの宛先
宛先、CC、BCC の 1 つ以上に指定が必要
2 copyTo 文字列
文字列リスト
3 blindCopyTo 文字列
文字列リスト
4 subject 文字列 メールの件名
5 remark 文字列 メールの本文
6 bodyFields 文字列リスト 本文に追加するフィールド
7 flags キーワード メールに関するフラグ


宛先の設定

宛先に設定できるのは、ユーザ名、グループ名です。一人だけに送信する場合は文字列、複数人に送信する場合はリスト値で設定します。宛先、CC、BCC のうちどれか 1 つには指定が必要です。設定しない引数にはからの文字列 ""  を設定します。


件名の設定

メールの件名を文字列で指定します。文字列リストを指定した場合、最初の要素が使用されます。


本文の設定

@MailSend で送信するメールの本文は、プレーンテキストとなります。引数の文字列に @NewLine を含むことで、改行させることができ、体裁を整えることが可能です。


ここまでが一般的な使い方となるので、簡単なサンプルを作成します。

メール送信ボタンの式は次の通りです。

xSubject := "『" + Destination + "』 の申請";
xBody := "新しい申請書を申請しました。";
xBody := xBody + @NewLine + "承認してください。";

@MailSend(Approver; ""; ""; xSubject; xBody)

フォームをプリビューして、メールを送信すると、メールが送信されます。


本文に追加するフィールドの設定

この機能は文書内のフィールドをメール内に埋め込める機能で、リストで複数のフィールドを指定すると、それらすべてを本文に表示します。

xSubject := "『" + Destination + "』 の申請";
xBody := "新しい申請書を申請しました。";
xBody := xBody + @NewLine + "承認してください。";
xBodyFlds := "Date":"Destination":"Purpose":"Amount";

@MailSend(Approver; ""; ""; xSubject; xBody; xBodyFlds)

メール送信ボタンを修正して、メールを送信すると次のようになりました。

指定したフィールドの一部しか表示されいません。しかも、改行も間隔も開けずただ羅列されています。ヘルプによると、数値や日付フィールドには対応していないようです。なかなか使いどころがわからない機能です...。この仕様だと remark にがんばって指定したほうが、自由に体裁が決定できるのでいいですね。


フラグの設定

最後の引数であるフラグは、送信優先度や署名、暗号化など、メール配信の細かな設定ができます。通常のアプリで使いそうなフラグは次の 2 つです。

キーワード 機能
[INCLUDEDOCLINK] @MailSend が実行されたときに開いていた文書の文書リンクを本文の最後に追加します。
ただし、文書は保存されている必要があります。
[RETURNRECEIPT] 受信者がメールを開いたとき、開封確認を送る設定をします。

フラグはリストのように記述すると複数指定することができます。例えば、次のように設定すると、文書リンクと開封確認付きのメールとなります。

xSubject := "『" + Destination + "』 の申請";
xBody := "新しい申請書を申請しました。";
xBody := xBody + @NewLine + "承認してください。" + @NewLine;

@MailSend(Approver; ""; ""; xSubject; xBody; ""; [IncludeDoclink]:[ReturnReceipt])


まとめ

引数付きの @MailSend を使えば、宛先、件名、本文が自由に設定でき、引数なしの場合のようにフィールド名の縛りもありません。また、文書リンク付きのメールを発信できるのでワークフローアプリでも活用できますね。


0 件のコメント:

コメントを投稿