@MailSend (式言語)

@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 つ以上のメール関連フィールドが含まれていることがあります。その場合、文書の配信時にそのフィールドが使用されます。

  1. 次の式では、メモが David Lee に送信され、宛先匿名のコピーが Support の Joseph Smith に送信されます。メモには「Status Report」という件名が付けられます。本文には「Sorry it's late!」というメッセージと現在の文書の [STATUS] フィールドと [PLANS] フィールドの内容が入ります。文書はメール送信時に、指定されたオプションに応じて、署名が付けられ、送達確認が要求されて、各受信者がメールを読むと開封報告が送信されます。受信者は識別名の構文 (R3 のユーザーだけが使用できます) を使用して指定されています。コピー受信者の情報は省略されますが、その後に他の引数が指定されるため、コピー受信者の位置には Null 文字列が指定されています。
    @MailSend("David Lee/";"";"Joseph Smith/Support";"Status Report"; "Sorry it's late!"; "STATUS":"PLANS"; [SIGN] : [DELIVERYREPORTCONFIRMED] : [RETURNRECEIPT])
  2. 次の式では、Mary Tsen と Support の Joseph Smith にメモが送信されます。件名には、現在の文書の [TOPIC] フィールドに保存されている文字列が使用されます。メモの本文は [COMMENTS] フィールドから取り出されます。コピー受信者、宛先匿名のコピー受信者、コメントの引数は省略されますが、その後に他の引数が指定されるため、Null 文字列で置き換えられています。フラグは省略されていますが、その後に引数が指定されていないため、Null 文字列は必要ありません。
    @MailSend("Mary Tsen/":"Joseph Smith/Support";"";"";TOPIC;""; "COMMENTS")
  3. 次の式では、Mary Tsen にメモが送信されます。[Subject] フィールドには「Follow this link」というメッセージが入り、[本文] フィールドには元の文書への文書リンクが入ります。
    @MailSend("Mary Tsen/";"";"";"Follow this link";"";"";[IncludeDocLink])
  4. このエージェント式では、リッチテキストの [Comments] フィールドの内容が Feedback という件名のメモで Martha O'Connell に送信されます。このエージェントは [アクションメニューから選択] イベントで起動され、その対象は選択されている文書です。次の式では、複数値の Items フィールドが連結され、remarks パラメータとして取り込まれます。
    @MailSend("Martha O'Connell/MA/Acme"; ""; ""; "Feedback"; @Implode(Items; ", "); "Comments")

クロスリファレンス

LotusScript® NotesDocument クラスの Send メソッド

LotusScript NotesUIDocument クラスの Send メソッド

Java™ Document クラスの send メソッド