You can use the
APEX_MAIL package to send an email from an Oracle Application Express application. This package is built on top of the Oracle supplied
UTL_SMTP package. Because of this dependence, the
UTL_SMTP package must be installed and functioning to use
APEX_MAIL contains three notable procedures. Use
APEX_MAIL.SEND to send an outbound email message from your application. Use
APEX_MAIL.PUSH_QUEUE to deliver mail messages stored in
APEX_MAIL.ADD_ATTACHMENT to send an outbound email message from your application as an attachment.
Oracle Application Express installs the database job
ORACLE_APEX_MAIL_QUEUE, which periodically sends all mail messages stored in the active mail queue.
APEX_MAIL package may be used from outside the context of an Application Express application (such as from a Database Scheduler job) as long as the database user making the call is mapped to an Application Express workspace. If the database user is mapped to multiple workspaces, you must first call
APEX_UTIL.SET_SECURITY_GROUP_ID as in the following examples. The
APEX_MAIL package cannot be used by database users that are not mapped to any workspace unless they have been granted the 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 Database PL/SQL Packages and Types Reference" for more information about the UTL_SMTP package
Sending Email from an Application in Oracle Application Express App Builder User’s Guide