APEX_MAIL

You can use the APEX_MAIL package to send an email from an Oracle APEX 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.

APEX_MAIL contains three notable procedures:

APEX installs the database job ORACLE_APEX_MAIL_QUEUE, which periodically sends all mail messages stored in the active mail queue.

Note:

The APEX_MAIL package may be used from outside the context of an APEX application (such as from SQLcl or from a Database Scheduler job) as long as the database user making the call is mapped to an APEX workspace. If the database user is mapped to multiple workspaces, you must first call APEX_UTIL.SET_WORKSPACE or 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 APEX_ADMINISTRATOR_ROLE role and explicitly set an existing workspace using the APEX_UTIL API.

-- 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;

See Also: