@MailSend には、次の 2 通りの使い方があります。
@MailSend @MailSend( sendTo ; copyTo ; blindCopyTo ; subject ; remark ; bodyFields ; [ flags ] )
sendTo
文字列または文字列リスト。メールメモの主受信者です。
copyTo
文字列または文字列リスト。オプション。メールメモのコピー受信者です。
blindCopyTo
文字列または文字列リスト。オプション。メールメモの宛先匿名コピー受信者です。
subject
文字列。オプション。[Subject] フィールドに表示する文字列です。メールメモの [Subject] フィールドと同じです。メッセージは、受信者のメールデータベースのビューにある [件名] 列内に表示されます。このパラメータがリストの場合、最初の要素のみが使用されます。リストを文字列にする場合は、必要に応じて @Implode を使用します。
remark
文字列。オプション。メモの本文フィールドの先頭に置く文字列です。このパラメータがリストの場合、最初の要素のみが使用されます。リストを文字列にする場合は、必要に応じて @Implode を使用します。
bodyFields
文字列リスト。現在の文書からメールメモに追加するフィールドの名前です。フィールドのデータ型はテキスト、テキストリスト、またはリッチテキストでなければなりません。フィールドはリストされた順にメモに追加されます。数値フィールドを @Text で変換した結果を変数に格納して、その変数名をフィールド名として使用することもできます。各フィールド名は引用符で囲みます。複数のフィールドを指定する場合は、リスト形式 "description":"issues":"resolution" を使用します。フィールド名を変数に保存するときは、引用符は外します。
[IncludeDocLink] フラグ (後述) を使用して現在の文書にリンクを追加する場合は、 bodyFields パラメータに NULL 値 ("") を指定します。指定した名前のフィールドが見つからないときは、代わりに文字列リテラルが使用されます。
[ flags ]
キーワード。メモの優先順位とセキュリティに関するフラグを指定します。複数のフラグを指定する場合は、[SIGN]:[PRIORITYHIGH]:[RETURNRECEIPT] のようにリスト形式で指定します。各フラグはカッコで囲みます。
使用できるフラグは次のとおりです。
[SIGN]
メモを送信するとき、ユーザー ID の情報を使用して電子的に署名します。このフラグを指定しない限り署名はできません。このフラグは Web アプリケーションでは使用できません。
[ENCRYPT]
受信者のパブリックキーを使用して文書を暗号化し、プライベートキーが一致する受信者だけが文書を読めるようにします。このフラグを指定しない限り暗号化はできません。このフラグは Web アプリケーションでは使用できません。
[PRIORITYHIGH]
メール接続記録とサーバー文書の組み合わせで定義されている次のサーバーに、メッセージをすぐに配信します。メッセージを配信するために電話をかける必要があるときは、リモート接続記録に設定されているスケジュールにかかわらずすぐに電話がかけられます。このフラグを省略すると、優先順位はデフォルトの Normal になります。
[PRIORITYNORMAL]
メール接続記録に定義されているスケジュールに基づいて、メッセージを次のサーバーに配信します。受信者のメールファイルが同じ Domino ネットワークのサーバー上にある場合は、すぐに配信されます。このフラグを省略すると、優先順位はデフォルトの Normal になります。
[PRIORITYLOW]
受信者のメールファイルが異なる Notes/Domino ネットワークのサーバー上にある場合は、メッセージを夜間に配信します。受信者のメールファイルが同じ Notes/Domino ネットワークのサーバー上にある場合は、すぐに配信します。低優先順位メールは、MailLowPriorityTime=x という Notes/Domino 環境変数でも制御できます。x は 0 から 23 までの数値です。この変数をサーバーの NOTES.INI ファイルに追加することで、サーバーが低優先順位メールを配信する時間を指定します。このフラグを省略すると、優先順位はデフォルトの Normal になります。
[RETURNRECEIPT]
各受信者がメッセージを読んだときに、そのことを送信者に知らせます。このフラグを指定しないと、受信確認は返送されません。
[DELIVERYREPORTCONFIRMED]
メモが正常に送信されたかどうかを送信者に知らせます。デフォルトでは基本送信レポートフォームが使用され、送信が失敗した場合に限り通知されます。
[INCLUDEDOCLINK]
@MailSend が実行されたときに開いていたか選択されていた文書への文書リンクを文書に追加します。その文書をメールメモにリンクするには、このフラグを指定します。新規文書は保存する必要があります。
@MailSend は、エージェント、フォームアクション、フォームイベント、ビューアクション、ビューイベント、ツールバーボタンで使用します。@MailSend は、定期エージェントであらかじめ決められた間隔でメールを送信する手段として使用すると特に便利です。例えば、部門ごとの会議についての通知を送信するような場合に使用します。定期エージェントが正しく動作するには、データベースを開いた直後に、データベースから 1 つのビューがデフォルトとして選択されていなければなりません。この関数は、列式、選択式、非表示切り替え式、ウィンドウタイトル式では使用できません。
フォーム上の [MailOptions] フィールドが 0 に設定されている場合、@MailSend が無効になるため、式は実行されません。
ユーザーの notes.ini ファイルに次のステートメントが含まれている場合は、
NoExternalApps=1
@MailSend を使用する式はすべて無効になります。この場合、式が失敗するだけでエラーメッセージは表示されません。
[IncludeDocLink] オプションを使用するときは、データベースにデフォルトビューが定義され、その中にリンクされた文書が含まれている必要があります。そうでない場合は、@MailSend が失敗します。
SendTo、CopyTo、または BlindCopyTo 引数内の複数の受信者に送信する場合は、受信者の名前を、各受信者ごとに別個のリスト値を持つリストとして、指定する必要があります。例えば、メールを Big 社の Sam と Martha に送信する場合、SendTo パラメータは "sam@bigcompany.com" : "martha@bigcompany.com" となります。"sam@bigcompany.com, martha@bigcompany.com" ではありません。
bodyfields にリッチテキストフィールドを指定できるのは、エージェント式のみです。
パラメータを指定しないで @MailSend を使用する場合、現在の文書に 1 つ以上のメール関連フィールドが含まれていることがあります。その場合、文書の配信時にそのフィールドが使用されます。
@MailSend("David Lee/";"";"Joseph Smith/Support";"Status Report"; "Sorry it's late!"; "STATUS":"PLANS"; [SIGN] : [DELIVERYREPORTCONFIRMED] : [RETURNRECEIPT])
@MailSend("Mary Tsen/":"Joseph Smith/Support";"";"";TOPIC;""; "COMMENTS")
@MailSend("Mary Tsen/";"";"";"Follow this link";"";"";[IncludeDocLink])
@MailSend("Martha O'Connell/MA/Acme"; ""; ""; "Feedback"; @Implode(Items; ", "); "Comments")