Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
Envoyer des courriels à l'aide de l'interface HTTP du service Oracle Cloud Infrastructure Email Delivery
Introduction
Oracle Cloud Infrastructure (OCI) Email Delivery est un service d'envoi de courriels proposant une solution gérée à la fois rapide et fiable pour l'envoi de courriels en masse et transactionnels en grand nombre. Auparavant, OCI Email Delivery contenait uniquement une interface SMTP (Simple Mail Transfer Protocol). Cependant, nous avons récemment annoncé une nouvelle API REST HTTPS pour la soumission de courriels, ce qui améliore les performances, élimine la complexité de la configuration et augmente les taux de réussite du placement en boîte de réception.
Objectif
- Envoyez des courriels à l'aide de l'interface HTTP du service OCI Email Delivery.
Prérequis
-
Utilisateur disposant de droits d'accès suffisants pour envoyer des courriels à l'aide d'OCI Email Delivery. Pour plus d'informations, reportez-vous aux stratégies ici.
-
Un domaine OCI Email Delivery. Pour plus d'informations sur la configuration d'un domaine OCI Email Delivery, reportez-vous aux instructions détaillées permettant d'envoyer des courriels avec OCI Email Delivery.
Tâche 1 : comprendre les méthodes d'authentification
Les soumissions de courriel HTTPS prennent en charge les méthodes d'authentification OCI SDK standard. Dans ce tutoriel, nous allons présenter l'authentification basée sur une clé d'API et l'authentification par principal d'instance. Pour plus d'informations, reportez-vous à Mesures d'authentification du kit SDK OCI.
-
API d'authentification basée sur une clé
Avec cette authentification, vous allez créer un fichier de configuration et le stocker sur l'ordinateur local. Par conséquent, vous ne devez l'utiliser qu'à partir d'un réseau sécurisé et lorsque vous êtes à l'aise avec le stockage local des clés privées. Le fichier contient les détails suivants.
- Identificateur Oracle Cloud (OCID) d'utilisateur
- OCID de location
- Région
- Chemin de la clé privée
- Empreinte
Pour plus d'informations sur la création et la collecte des paramètres ci-dessus, reportez-vous à Clés et OCID requis.
-
Authentification principale de l'instance
L'authentification du principal d'instance implique d'autoriser une instance à effectuer des appels d'API sur les services OCI via un groupe dynamique. Créez un groupe dynamique, des règles de mise en correspondance et des stratégies appropriées. Pour plus d'informations, reportez-vous à Gestion des groupes dynamiques.
Pour permettre à l'instance d'envoyer des courriels, utilisez la stratégie suivante.
Allow dynamic-group <dynamic-group-name> to use email-family in compartment <compartment-name>
Pour plus d'informations sur la personnalisation de ces droits d'accès, reportez-vous à Détails du service Email Delivery.
Tâche 2 : envoyer un courriel
Nous allons utiliser le kit de développement logiciel (SDK) Python, mais n'importe quel kit SDK ou l'interface de ligne de commande Oracle Cloud Infrastructure (interface de ligne de commande OCI) peut être remplacé. Pour plus d'informations sur l'installation, reportez-vous à Kits SDK et interface de ligne de commande.
Remarque : pour obtenir la liste complète des paramètres disponibles, reportez-vous à API Email Delivery.
-
API d'authentification basée sur une clé
import oci #Create a default config config = oci.config.from_file() #Initialize service client with config file email_client = oci.email_data_plane.EmailDPClient(config) #Create the email details email_details = oci.email_data_plane.models.SubmitEmailDetails( sender = oci.email_data_plane.models.Sender( sender_address = oci.email_data_plane.models.EmailAddress( email = '<approved sender email>', name = '<sender name>'), compartment_id = '<compartment ocid>'), recipients = oci.email_data_plane.models.Recipients( to = [ oci.email_data_plane.models.EmailAddress( email = '<to email address>', name = '<to name>' )], cc = [ oci.email_data_plane.models.EmailAddress( email = '<cc email address>', name '<cc name>' )], bcc = [ oci.email_data_plane.models.EmailAddress( email = '<bcc email address>', name '<bcc name>' )]), subject = '<email subject>', body_text = '<email body>', ) #Submit the email email_client.submit_email(email_details)
Téléchargez l'exemple de configuration client du kit SDK Python à l'adresse suivante : configuration_example.py.
-
Authentification principale de l'instance
import oci compartment_id = '<compartment ocid>' # By default this will hit the auth service in the region returned by http://169.254.169.254/opc/v2/instance/region on the instance. signer = oci.auth.signers.InstancePrincipalsSecurityTokenSigner() # In the base case, configuration does not need to be provided as the region and tenancy are obtained from the InstancePrincipalsSecurityTokenSigner identity_client = oci.identity.IdentityClient(config={}, signer=signer) #Create the email details email_details = oci.email_data_plane.models.SubmitEmailDetails( sender = oci.email_data_plane.models.Sender( sender_address = oci.email_data_plane.models.EmailAddress( email = '<approved sender email>', name = '<sender name>'), compartment_id = '<compartment ocid>'), recipients = oci.email_data_plane.models.Recipients( to = [ oci.email_data_plane.models.EmailAddress( email = '<to email address>', name = '<to name>' )], cc = [ oci.email_data_plane.models.EmailAddress( email = '<cc email address>', name '<cc name>' )], bcc = [ oci.email_data_plane.models.EmailAddress( email = '<bcc email address>', name '<bcc name>' )]), subject = '<email subject>', body_text = '<email body>', ) #Submit the email email_client.submit_email(email_details)
Téléchargez l'exemple de principal d'instance de kit SDK Python à l'adresse suivante : instance_principals_examples.py.
Tâche 3 : Test en volume
Pour maintenir à la fois votre réputation d'expéditeur et la nôtre, utilisez les meilleures pratiques suivantes lors des tests en volume.
-
Utilisez une adresse de réception dans le domaine
discard.oracle.com
, telle queexample@discard.oracle.com
. OCI Email Delivery accepte le courrier mais ne le distribue pas dans une boîte de réception. -
Si des e-mails volumineux sont envoyés à des adresses e-mail valides, les destinataires les rejettent, ce qui entraîne de nombreux refus permanents. Ce résultat affecte négativement la réputation IP. Pour le test du traitement des refus, envoyez de petites quantités de courriels à un domaine qui n'existe pas.
Liens connexes
-
Instructions pas à pas pour l'envoi de courriels avec OCI Email Delivery
-
Exemple de clé d'API de kit SDK Python : configuration_example.py
-
Exemple de principal d'instance de kit SDK Python : instance_principals_examples.py
Remerciements
- Auteur - Cody Brinkman (architecte cloud)
Ressources de formation supplémentaires
Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Send Emails using the Oracle Cloud Infrastructure Email Delivery Service HTTP Interface
F96701-02
May 2024