41.11 SENDプロシージャのシグネチャ2

このプロシージャは、Oracle APEXのメール・キューにメールを追加します。メールは電子メール・テンプレートに基づいており、JSON文字列として指定されたプレースホルダに値が代入されます。

構文

APEX_MAIL.SEND (
    p_template_static_id IN VARCHAR2,    
    p_placeholders       IN CLOB,
    p_to                 IN VARCHAR2,
    p_cc                 IN VARCHAR2 DEFAULT NULL,
    p_bcc                IN VARCHAR2 DEFAULT NULL,
    p_from               IN VARCHAR2 DEFAULT NULL,
    p_replyto            IN VARCHAR2 DEFAULT NULL,
    p_application_id     IN NUMBER   DEFAULT apex_application.g_flow_id );

パラメータ

パラメータ 説明
p_template_static_id 共有コンポーネント電子メール・テンプレートの識別に使用される、静的な識別子文字列。
p_placeholders 値が代入されるプレースホルダ名を表すJSON文字列。
p_to (必須) 電子メールの送信先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。
p_cc 電子メールの内容のコピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。
p_bcc 電子メールの内容のブラインド・コピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。
p_from

これは、電子メールの送信元となる有効な電子メール・アドレスである必要があります。

p_fromが指定されていない場合:

  • 「アプリケーションの電子メール送信元アドレス」が使用されます(「アプリケーション定義」で指定されている場合)
  • それ以外の場合は、p_replytoが使用されます(指定されている場合)
  • それ以外の場合は、p_toが使用されます

p_toまたはp_replytoに複数の電子メール・アドレスが含まれている場合は、p_fromが必要です。

インスタンス管理者がインスタンス・レベルで「デフォルトの電子メール送信元アドレス」をすでに定義している場合、p_fromが指定されているかどうかに関係なく、このアドレスが「送信元」アドレスとして常に使用されます。

p_replyto

有効な電子メール・アドレスを指定して、手動生成した応答をp_fromで指定したアドレスではなくこのアドレスに送信するように受信者の電子メール・クライアントに指示します。このパラメータの使用方法は次のとおりです。

  • p_replytoパラメータを省略した場合、返信先のメール・ヘッダーにはp_fromパラメータに指定された値が設定されます
  • p_replytoパラメータにNULLを指定した場合、返信先のメール・ヘッダーにはNULLが設定されます。これにより、電子メールの自動返信が無効になります。
  • p_replytoパラメータにNULL以外の値(有効な電子メール・アドレスなど)を指定した場合、メッセージを送信しても、自動返信は指定されたアドレスに対して行われます(有効な電子メール・アドレスなど)
p_application_id 電子メール・テンプレートが定義されているアプリケーションID。デフォルトでは現在のアプリケーションに設定されます(アプリケーション内からコールされる場合)。

ノート:

APEXアプリケーションのコンテキスト外から(たとえば、データベース・スケジューラ・ジョブから) SENDプロシージャをコールする場合は、p_application_idパラメータを指定する必要があります。

begin
    apex_mail.send (
        p_template_static_id => 'ORDER',
        p_placeholders       => '{ "ORDER_NUMBER": 5321, "ORDER_DATE": "01-Feb-2018", "ORDER_TOTAL": "$12,000" }',
        p_to                 => 'some_user@example.com' );
end;