Envoi de courriels à partir d'Oracle APEX
Vous pouvez utiliser le package APEX_MAIL pour envoyer des courriels à partir des applications Oracle APEX déployées dans la base de données Autonomous AI.
Avant d'utiliser APEX_MAIL, vous devez configurer un serveur SMTP qui transmettra les courriels à partir d'Oracle APEX. Oracle APEX sur Autonomous AI Database prend en charge le service Oracle Cloud Infrastructure Email Delivery ainsi que les fournisseurs de messagerie tiers.
Configurer OCI Email Delivery
Votre instance Oracle APEX peut utiliser le service OCI Email Delivery pour envoyer des courriels à partir des applications APEX.
Pour configurer la fonctionnalité APEX_MAIL afin d'utiliser le service OCI Email Delivery, procédez comme suit :
-
Identifiez l'adresse de connexion SMTP pour Email Delivery. Vous configurez cette adresse comme hôte SMTP dans votre instance APEX à l'étape 4. Vous devrez peut- être vous abonner à des régions Oracle Cloud Infrastructure supplémentaires si Email Delivery n'est pas disponibles dans votre région actuelle. Pour plus d'informations, reportez-vous à Configuration de la connexion SMTP.
-
Générez des informations d'identification SMTP pour Email Delivery. Votre instance APEX utilise les informations d'identification pour s'authentifier auprès des serveurs Email Delivery lorsque vous envoyez une adresse électronique. Pour plus d'informations, reportez-vous à Création d'informations d'identification SMTP.
-
Créez un expéditeur approuvé pour Email Delivery. Vous devez effectuer cette étape pour toutes les adresses électroniques utilisées pour la livraison avec des appels
APEX_MAIL.SEND, comme adresse électronique d'expéditeur dans vos applications ou dans le paramètre d'instanceSMTP_FROM. Pour plus d'informations, reportez-vous à la rubrique Gestion des expédititeurs approuvés. -
Connectez-vous à votre base de données Autonomous AI en tant qu'utilisateur ADMIN via un client SQL et configurez le paramètre SMTP suivant à l'aide de
APEX_INSTANCE_ADMIN.SET_PARAMETER:-
SMTP_HOST_ADDRESS: spécifie l'adresse de connexion SMTP de l'étape 1. -
SMTP_USERNAME: indique le nom utilisateur de l'information d'identification SMTP de l'étape 2 -
SMTP_PASSWORD: indique le mot des informations d'identification SMTP de l'étape 2. -
SMTP_HOST_PORT: conserver la valeur par défaut de ce paramètre (587) -
SMTP_TLS_MODE: conserver la valeur par défaut de ce paramètre (STARTTLS)
Par exemple :
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.email.us-phoenix-1.oci.oraclecloud.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'ocid1.user.oc1.username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Pour plus d'informations, reportez-vous à APEX_INSTANCE_ADMIN.
-
Pour plus d'informations, reportez-vous à Présentation d'Email Delivery.
Configuration du fournisseur de messagerie tiers
Votre instance Oracle APEX peut utiliser des fournisseurs de messagerie tiers pour envoyer des courriels à partir d'applications APEX.
Avant de configurer un fournisseur de messagerie tiers dans APEX, assurez-vous de satisfaire aux prérequis suivants :
-
Votre base de données Autonomous AI doit être configurée pour utiliser une adresse privée.
-
L'adresse SMTP du fournisseur de messagerie (port 25 ou 587) doit être accessible à partir du réseau cloud virtuel (VCN) et du sous-réseau sur lequel votre base de données d'IA autonome est provisionnée.
Pour plus d'informations, reportez-vous à la section Configure Network Access with Private Endpoints.
Une fois les prérequis remplis :
-
Ajoutez la liste de contrôle d'accès suivante pour l'adresse SMTP en tant qu'ADMIN (notez le paramètre
private_target) :BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'smtp.example.com', ace => XS$ACE_TYPE( privilege_list => XS$NAME_LIST('SMTP'), principal_name => APEX_APPLICATION.g_flow_schema_owner, principal_type => XS_ACL.ptype_db), private_target => true); END; /Remarque
Remarque : si vous définissez la propriété de base de donnéesROUTE_OUTBOUND_CONNECTIONS, vous n'avez pas besoin de définir de listes de contrôle d'accès pour chaque adresse SMTP afin d'y accéder à partir d'APEX. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. -
Connectez-vous à votre base de données Autonomous AI en tant qu'utilisateur ADMIN via un client SQL et configurez le paramètre SMTP suivant à l'aide de
APEX_INSTANCE_ADMIN.SET_PARAMETER. Si votre fournisseur de messagerie tiers ne nécessite pas d'authentification, ignorez les paramètresSMTP_USERNAMEetSMTP_PASSWORD.-
SMTP_HOST_ADDRESS: spécifie l'adresse de connexion SMTP de l'étape 1. -
Les valeurs valides pour le paramètre
SMTP_HOST_PORTsont 25 ou 587 -
Définissez la valeur du paramètre
SMTP_TLS_MODEsurY.
Par exemple :
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.example.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_PORT', '587'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_TLS_MODE', 'Y'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Pour plus d'informations, reportez-vous à APEX_INSTANCE_ADMIN.
-
Valider la configuration de courriel
Affiche les étapes permettant de confirmer que votre fournisseur de messagerie est prêt à être utilisé avec APEX_MAIL.
-
Validez les paramètres de configuration des e-mails à l'aide d'un client SQL en tant qu'administrateur :
BEGIN APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG; END; /Si des erreurs sont signalées (par exemple,
"ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"), ajustez les paramètres SMTP ou la configuration du réseau cloud virtuel (VCN) et répétez l'étape de validation.Pour plus d'informations, reportez-vous à APEX_INSTANCE_ADMIN.
-
Envoyez un courriel de test à l'aide d'APEX SQL Workshop. Si vous utilisez OCI Email Delivery, assurez-vous que le paramètre
p_fromcorrespond à l'un des expéditeurs approuvés. Par exemple :BEGIN APEX_MAIL.SEND( p_from => 'alice@example.com', p_to => 'bob@example.com', p_subj => 'Email from Oracle Autonomous AI Database', p_body => 'Sent using APEX_MAIL'); END; /Pour plus d'informations, reportez-vous à APEX_MAIL.
-
Pour surveiller la remise de courriels dans votre instance APEX, procédez comme suit :
-
Connectez-vous aux services d'administration APEX.
-
Ouvrez la page Gérer une instance.
-
Cliquez sur le lien File d'attente des courriels dans la section Gérer les métadonnées.
Vous pouvez également interroger les vues
APEX_MAIL_QUEUEetAPEX_MAIL_LOGà l'aide d'un client SQL. -
Remarques concernant l'envoi de courriels à partir d'Oracle APEX
Fournit des notes pour l'utilisation des fournisseurs de messagerie dans Oracle APEX à partir d'une instance de base de données Autonomous AI.
Lorsque vous utilisez des fournisseurs de messagerie dans Oracle APEX, tenez compte des points suivants :
-
Il existe une limite par défaut de 1 000 courriels par espace de travail sur une période de 24 heures. Vous pouvez mettre à jour ou enlever cette limite dans les services d'administration Oracle APEX ou en définissant le paramètre d'instance
WORKSPACE_EMAIL_MAXIMUM. Si vous utilisez le service OCI Email Delivery, ce service peut imposer des limites supplémentaires. -
Lors de l'utilisation du service OCI Email Delivery, un expéditeur approuvé doit être configuré pour toutes les adresses d'expéditeur possibles ou le courriel sera rejeté. Pour plus d'informations, reportez-vous à la rubrique Gestion des expédititeurs approuvés.