Oracle Application Express stores unsent email messages in a table named APEX_MAIL_QUEUE
. You can manually deliver mail messages stored in this queue to the specified SMTP gateway by invoking the APEX_MAIL.PUSH_QUEUE
procedure.
Oracle Application Express logs successfully submitted message in the table APEX_MAIL_LOG
with the timestamp reflecting your server's local time. Keep in mind, the most efficient approach to sending email is to create a background job (using a DBMS_JOB
package) to periodically send all mail messages stored in the active mail queue.
"Sending an Email from an Application" in Oracle Application Express Application Builder User's Guide
Syntax
APEX_MAIL.PUSH_QUEUE( p_smtp_hostname IN VARCHAR2 DEFAULT NULL, p_smtp_portno IN NUMBER DEFAULT NULL);
Parameters
Table 16-2 describes the parameters available in the PUSH_QUEUE
procedure.
Table 16-2 PUSH_QUEUE Parameters
Parameters | Description |
---|---|
|
SMTP gateway host name |
|
SMTP gateway port number |
Note that these parameter values are provided for backward compatibility, but their respective values are ignored. The SMTP gateway hostname and SMTP gateway port number are exclusively derived from values entered on the Manage Environment Settings when sending email.
Example
The following example demonstrates the use of the APEX_MAIL.PUSH_QUEUE
procedure using a shell script. This example only applies to UNIX/LINUX installations.
SQLPLUS / <<EOF APEX_MAIL.PUSH_QUEUE; DISCONNECT EXIT EOF