33 APEX_MAIL
APEX_MAIL
パッケージを使用してOracle APEXアプリケーションから電子メールを送信できます。このパッケージは、Oracleで提供されるUTL_SMTP
パッケージをベースとして構築されています。このような依存性があるため、APEX_MAIL
を使用するには、UTL_SMTP
パッケージがインストールされており、機能している必要があります。
APEX_MAIL
には次の3つの重要なプロシージャが含まれています。
- アプリケーションから外部へ電子メール・メッセージを送信するには、
APEX_MAIL.SEND
を使用します。 APEX_MAIL_QUEUE
に格納されたメール・メッセージを配信するには、APEX_MAIL.PUSH_QUEUE
を使用します。- アプリケーションから外部へ添付として電子メール・メッセージを送信するには、
APEX_MAIL.ADD_ATTACHMENT
を使用します。
APEXでは、データベース・ジョブORACLE_APEX_MAIL_QUEUE
がインストールされます。これは、アクティブなメール・キューに格納されているすべてのメール・メッセージを定期的に送信します。
ノート:
APEX_MAIL
パッケージは、コールを実行するデータベース・ユーザーがAPEXワークスペースにマップされているかぎり、APEXアプリケーションのコンテキスト外から(SQL*Plusからやデータベース・スケジューラ・ジョブからなど)使用できます。データベース・ユーザーが複数のワークスペースにマップされている場合、次の例に示すように、まずAPEX_UTIL.SET_WORKSPACE
またはAPEX_UTIL.SET_SECURITY_GROUP_ID
をコールする必要があります。APEX_MAIL
パッケージは、APEX_ADMINISTRATOR_ROLE
ロールが付与されていないかぎり、どのワークスペースにもマップされていないデータベース・ユーザーが使用することはできません。
- Example 1
apex_util.set_workspace(p_workspace => 'MY_WORKSPACE');
-- Example 2
FOR c1 in (
select workspace_id
from apex_applications
where application_id = 100 )
LOOP
apex_util.set_security_group_id(p_security_group_id => c1.workspace_id);
END LOOP;
- 電子メールを送信するためのOracle APEXの構成
- ADD_ATTACHMENTプロシージャのシグネチャ1
- ADD_ATTACHMENTプロシージャのシグネチャ2
- GET_IMAGES_URLファンクション
- GET_INSTANCE_URLファンクション
- PREPARE_TEMPLATEプロシージャ
- PUSH_QUEUEプロシージャ
- SENDファンクションのシグネチャ1
- SENDファンクションのシグネチャ2
- SENDプロシージャのシグネチャ1
- SENDプロシージャのシグネチャ2
参照:
- Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイドのアプリケーションからの電子メールの送信
- UTL_SMTPパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください