A quick note in case one is getting the following exception while using APEX_MAIL.SEND procedure.
ORA-29279: SMTP permanent error: 554 5.7.1
: Relay access denied
ORA-29279 is a sort of catch-all exception for a whole class of SMTP errors, so the SMTP error code (in this case 554) followed by the textual description is what really matters. Some time ago i wrote another blog posting for a different situation where ORA-29279 was returned.
In this case the 554 Relay access denied error was caused by the setup of POSTFIX on one virtual machine acting as a test SMTP server, which was not configured to accept mail relaying from IP addresses other than the local machine (127.0.0.1/8).
After adding the IP address of the database server running Oracle Application Express to the list of "trusted" addresses, i could eventually send the emails stuck in the queue.
In case you are dealing with POSTFIX too, the relevant parameter is mynetworks.
You can read more about the setting of this parameter (and associated ones) in the POSTFIX documentation.
See message translations for ORA-29279 and search additional resources.