1. Paramétrage du serveur messagerie
a- Entrer sur l’admin apex (Internal)
Manage instance – instance setting – Email
b- On va utiliser le serveur messagerie gratuit mailtrap https://mailtrap.io/
c- faite un compte pour avoir le config et recevoir les Email de test qu’on va faire.
d- prendre la config de votre compte mailtrap et insérer la : SMTP + port + username + password
2. Configuration network ACL pour le mail server, On dois choisir la version Apex, ici ma version est 200200 et rectifier le code suivant ta version et l’exécuté sur SQL Developer.
ERROR : ORA-24247: network access denied by access control list (ACL)
SOLUTION :
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_200200
-- the "connect" privilege if APEX_200200
-- does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE (ACL_PATH,'APEX_200200','connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,'APEX_200200', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_200200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
BEGIN
DBMS_NETWORK_ACL_ADMIN.add_privilege (
acl = 'power_users.xml',
principal = 'ton_user',
is_grant = TRUE,
privilege = 'connect');
COMMIT;
END;
/
Api responsable pour l’envoi de mail a partir d’oracle apex
https://docs.oracle.com/cd/E14373_01/...
APEX_MAIL.SEND (
p_to = email_,
p_from = '[email protected]',
p_subj ='TEST-MAIL-with-APEX-Application',
p_body = 'Salut utilisateur '||:P9999_USERNAME
);
API responsable d’envoyer les e-mails stockés dans la file d'attente du messagerie active.
APEX_MAIL.PUSH_QUEUE;