25 APEX_MAIL

APEX_MAILパッケージを使用してOracle Application Expressアプリケーションから電子メールを送信できます。このパッケージは、Oracleで提供されるUTL_SMTPパッケージをベースとして構築されています。このような依存性があるため、APEX_MAILを使用するには、UTL_SMTPパッケージがインストールされており、機能している必要があります。

APEX_MAILには3つのプロシージャが含まれています。アプリケーションから外部へ電子メール・メッセージを送信するには、APEX_MAIL.SENDを使用します。APEX_MAIL_QUEUEに格納されたメール・メッセージを配信するには、 APEX_MAIL.PUSH_QUEUEを使用します。アプリケーションから外部へ添付ファイルとして電子メール・メッセージを送信するには、APEX_MAIL.ADD_ATTACHMENTを使用します。

Oracle Application Expressでインストールされるデータベース・ジョブ、ORACLE_APEX_MAIL_QUEUEは、アクティブなメール・キューに格納されているすべてのメール・メッセージを定期的に送信します。

注意:

Application Expressアプリケーションのコンテキストの外部からAPEX_MAILパッケージをコールするには(データベース・スケジューラ・ジョブからなど)、次の例のようにapex_util.set_security_group_idをコールする必要があります。
for c1 in (
   select workspace_id
     from apex_applications
    where application_id = p_app_id )
loop
   apex_util.set_security_group_id(p_security_group_id =>
c1.workspace_id);
end loop;