16.7 電子メール・テンプレートの管理
電子メール・テンプレートを作成することで、ユーザーがアプリケーションから電子メールを送信できるようにします。
ノート:
アプリケーションから電子メールを送信するには、インスタンス管理者がOracle APEX管理サービスにサインインし、「インスタンスの設定」ページにナビゲートして、「電子メール」属性を構成する必要があります。- 電子メール・テンプレートの定義
アプリケーションの電子メール・テンプレートを定義します。電子メール・テンプレートには、HTMLフォーマットとプレーン・テキスト・フォーマットの両方が含まれます。 - サンプルの電子メール・テンプレートの表示
サンプルの電子メール・テンプレート(「オーダー詳細のロード」、「イベント・リマインダのロード」または「スケジュール済停止のロード」)を表示します。 - 動的テキストの組込みについて
既存の置換修飾子を使用して電子メール・テンプレートに動的テキストを指定します。 - 電子メール・テンプレートの編集または削除
既存の電子メール・テンプレートを編集または削除します。 - 電子メール・テンプレートのコピー
既存の電子メール・テンプレートをコピーします。
関連項目:
- アプリケーションからの電子メール送信
- Oracle APEX管理ガイドの電子メールの構成
- Oracle APEX APIリファレンスのAPEX_MAIL
親トピック: 共有コンポーネントの管理
16.7.1 電子メール・テンプレートの定義
アプリケーションの電子メール・テンプレートを定義します。電子メール・テンプレートには、HTMLフォーマットとプレーン・テキスト・フォーマットの両方が含まれます。
電子メール・テンプレートを定義するには:
次に、ボタンおよびプロセスを作成してAPEX_MAIL
APIをコールします。
関連項目:
- アプリケーション内のページの管理
- ボタンの管理
- ページ・プロセスの理解
- Oracle APEX APIリファレンスのAPEX_MAIL
親トピック: 電子メール・テンプレートの管理
16.7.2 サンプルの電子メール・テンプレートの表示
サンプルの電子メール・テンプレート(「オーダー詳細のロード」、「イベント・リマインダのロード」または「スケジュール済停止のロード」)を表示します。
サンプルの電子メール・テンプレートを表示するには:
親トピック: 電子メール・テンプレートの管理
16.7.3 動的テキストの組込みについて
既存の置換修飾子を使用して電子メール・テンプレートに動的テキストを指定します。
ノート:
テンプレート・ディレクティブは、電子メール・テンプレートの特定の属性でサポートされています。「テンプレート・ディレクティブの使用」を参照してください。セキュリティ上の理由で、電子メール・テンプレートのプレースホルダ(#NAME#
)で置換される値は、コンテキストに基づいて自動的にエスケープされます。つまり、HTML形式のテンプレートにはHTMLエスケープが含まれ、プレーン・テキスト・テンプレートには含まれません。これがご使用の環境での希望する動作でない場合、既存の置換修飾子を使用して、HTMLタグが含まれる動的テキストを入力できます。
-
#NAME!RAW#
: テキストがそのままの状態で置換されます。 -
#NAME!STRIPHTML#
: すべてのHTMLタグが削除されます。
電子メール・テンプレートの拡張
たとえば、次を指定してHTMLフォーマットの本文のテンプレートを拡張できます。
<tr>
<th align="left">Additional Information</th>
<td>#ADDITIONAL_INFO!RAW#</td>
</tr>
同様に、次を指定してプレーン・テキスト・フォーマットのテンプレートを拡張できます。
Additional Info: #ADDITIONAL_INFO!STRIPHTML#
サンプルのPL/SQL
PL/SQLコードは次のようになります。
begin
apex_mail.send (
p_to => 'steven.king@example.com',
p_template_static_id => 'ORDER_CONFIRMATION',
p_placeholders => q'~
{
"CUSTOMER_NAME": "Steven King",
"ORDER_NUMBER": 1234,
"ORDER_DATE": "02-Feb-2018",
"SHIP_TO": "Steven King",
"SHIPPING_ADDRESS_LINE_1": "2004 Charade Rd",
"SHIPPING_ADDRESS_LINE_2": "Seattle, Washinton",
"ITEMS_ORDERED": 3,
"ORDER_TOTAL": "$ 1,200.99",
"ORDER_URL": "http://domain/apex/f?p=&APP_ID"
"ADDITIONAL_INFO": "We plan to deliver your ordered items <strong>tomorrow morning between 08:00 and 09:00</strong>
}~' );
apex_mail.push_queue;
end;
親トピック: 電子メール・テンプレートの管理
16.7.4 電子メール・テンプレートの編集または削除
既存の電子メール・テンプレートを編集または削除します。
電子メール・テンプレートを編集または削除するには:
親トピック: 電子メール・テンプレートの管理