Envoyer un courriel à partir d'Oracle APEX
Vous pouvez utiliser l'ensemble APEX_MAIL pour envoyer des courriels à partir des applications Oracle APEX déployées dans Autonomous AI Database.
Avant d'utiliser APEX_MAIL, vous devez configurer un serveur SMTP qui transmettra le courriel à 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 courriel tiers.
Configurer le service de transmission de messages pour OCI
Votre instance Oracle APEX peut utiliser le service de transmission de messages pour OCI pour envoyer des courriels à partir des applications APEX.
Pour configurer la fonctionnalité APEX_MAIL pour utiliser le service de transmission de messages pour OCI :
-
Identifiez le point d'extrémité de connexion SMTP pour le service de transmission de messages. Vous devez configurer le point d'extrémité en tant qu'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 le service de transmission de messages n'est pas disponible dans votre région courante. Voir Configurer une connexion SMTP pour plus d'informations.
-
Générez les données d'identification SMTP pour le service de transmission de messages. Votre instance APEX utilise les données d'identification pour l'authentification sur les serveurs de transmission de messages lors de l'envoi de courriels. Pour plus d'informations, voir Création de données d'identification SMTP.
-
Créez un expéditeur approuvé pour le service de courriel. Vous devez réaliser cette étape pour toutes les adresses de courriel que vous utilisez en tant qu'"expéditeur" des appels
APEX_MAIL.SEND, en tant qu'adresse d'"expéditeur" de courriel d'application dans vos applications ou dans le paramètre d'instanceSMTP_FROM. Pour plus d'informations, voir Gestion des émetteurs approuvés. -
Connectez-vous à la base de données du service d'intelligence artificielle autonome en tant qu'utilisateur ADMIN au moyen d'un client SQL et configurez les paramètres SMTP suivants au moyen de
APEX_INSTANCE_ADMIN.SET_PARAMETER:-
SMTP_HOST_ADDRESS: Indique le point d'extrémité de connexion SMTP de l'étape 1 -
SMTP_USERNAME: Indique le nom d'utilisateur associé aux données d'identification SMTP de l'étape 2 -
SMTP_PASSWORD: Indique le mot de passe associé aux données d'identification SMTP de l'étape 2 -
SMTP_HOST_PORT: Conserver la valeur par défaut pour ce paramètre (587) -
SMTP_TLS_MODE: Conserver la valeur par défaut pour ce paramètre (STARTTLS)
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, voir APEX_INSTANCE_ADMIN.
-
Pour plus d'informations, voir Aperçu du service de transmission de messages.
Configurer un fournisseur de courriels tiers
Votre instance Oracle APEX peut utiliser des fournisseurs de courriel tiers pour envoyer des courriels à partir des applications APEX.
Avant de configurer un fournisseur de courriel tiers dans APEX, assurez-vous que les préalables suivants sont satisfaits :
-
Votre base de données d'IA autonome doit être configurée pour utiliser un point d'extrémité privé.
-
Le point d'extrémité SMTP du fournisseur de courriel (port 25 ou 587) doit être accessible à partir du réseau en nuage virtuel (VCN) et du sous-réseau où votre base de données IA autonome est provisionnée.
Pour plus d'informations, voir Configurer l'accès au réseau à l'aide de points d'extrémité privés.
Une fois les conditions requises remplies :
-
Ajoutez la liste de contrôle d'accès suivante pour le point d'extrémité SMTP en tant qu'administrateur (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; /Note
Note : Si vous définissez une propriété de base de donnéesROUTE_OUTBOUND_CONNECTIONS, vous n'avez pas besoin de définir des listes de contrôle d'accès pour les points d'extrémité SMTP individuels afin d'y accéder à partir d'APEX. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés. -
Connectez-vous à la base de données du service d'intelligence artificielle autonome en tant qu'utilisateur ADMIN au moyen d'un client SQL et configurez les paramètres SMTP suivants au moyen de
APEX_INSTANCE_ADMIN.SET_PARAMETER. Si votre fournisseur de courriel de tierce partie ne nécessite pas d'authentification, ignorez les paramètresSMTP_USERNAMEetSMTP_PASSWORD.-
SMTP_HOST_ADDRESS: Indique le point d'extrémité de connexion SMTP de l'étape 1 -
Les valeurs valides pour le paramètre
SMTP_HOST_PORTsont 25 ou 587 -
Réglez la valeur du paramètre
SMTP_TLS_MODEàY
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, voir APEX_INSTANCE_ADMIN.
-
Valider la configuration de courriel
Affiche les étapes pour confirmer que votre fournisseur de courriels est prêt à être utilisé avec APEX_MAIL.
-
Validez les paramètres de configuration de courriel à l'aide d'un client SQL ADMIN :
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 en nuage virtuel (VCN) et répétez l'étape de validation.Pour plus d'informations, voir APEX_INSTANCE_ADMIN.
-
Envoyez un courriel de test à l'aide de l'atelier SQL APEX. Si vous utilisez le service de transmission de messages pour OCI, 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; /Voir APEX_MAIL pour plus d'informations.
-
Pour surveiller la transmission de messages dans votre instance APEX :
-
Connectez-vous aux services d'administration APEX.
-
Ouvrez la page Manage Instance (Gérer l'instance).
-
Cliquez sur le lien Mail Queue (File d'attente des courriels) dans la section Manage Meta Data (Gérer les métadonnées).
Vous pouvez également interroger les vues
APEX_MAIL_QUEUEetAPEX_MAIL_LOGà l'aide d'un client SQL. -
Notes pour l'envoi de courriel à partir d'Oracle APEX
Fournit des notes sur l'utilisation des fournisseurs de courriel dans Oracle APEX à partir d'une instance de base de données Autonomous AI Database.
Notez ce qui suit lorsque vous travaillez avec des fournisseurs de courriel dans Oracle APEX :
-
Il y a 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 supprimer cette limite dans les services d'administration d'Oracle APEX ou en définissant le paramètre d'instance
WORKSPACE_EMAIL_MAXIMUM. Si vous utilisez le service de transmission de messages pour OCI, celui-ci peut imposer des limites supplémentaires. -
Lors de l'utilisation du service de transmission de messages pour OCI, un expéditeur approuvé doit être configuré pour toutes les adresses "De" possibles ou le courriel sera rejeté. Pour plus d'informations, voir Gestion des émetteurs approuvés.