Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Introduction à l' niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Envoyer des courriels à l'aide de l'interface HTTP du service Oracle Cloud Infrastructure Email Delivery
Présentation
Le service de transmission de messages pour Oracle Cloud Infrastructure est une solution gérée rapide et fiable pour l'envoi de courriels en masse et de courriels transactionnels. Auparavant, le service de transmission de messages pour OCI contenait uniquement une interface SMTP (Simple Mail Transfer Protocol). Cependant, nous avons récemment annoncé une nouvelle API REST HTTPS pour la soumission des courriels, ce qui améliore le rendement, élimine la complexité de la configuration et augmente les taux de placement dans une boîte de réception.
Objectif
- Envoyer des courriels à l'aide de l'interface HTTP du service de transmission de messages pour OCI.
Préalables
-
Utilisateur disposant des autorisations suffisantes pour envoyer des courriels à l'aide du service de transmission de messages pour OCI. Pour plus d'informations, voir les politiques ici.
-
Un domaine de transmission de messages OCI. Pour plus d'informations sur la configuration d'un domaine du service de transmission de messages pour OCI, voir Instructions étape par étape pour envoyer des courriels avec le service de transmission de messages pour OCI.
Tâche 1 : Comprendre les méthodes d'authentification
Les soumissions de courriel HTTPS prennent en charge les méthodes d'authentification de trousse SDK OCI standard. Dans ce tutoriel, nous présenterons l'authentification basée sur une clé d'API et l'authentification du principal d'instance. Pour plus d'informations, voir Méthodes d'authentification de la trousse SDK pour OCI.
-
Authentication basée sur une clé d'API
Avec cette authentification, vous allez créer un fichier de configuration et le stocker sur l'ordinateur local. Par conséquent, il ne doit être utilisé qu'à partir d'un réseau sécurisé et lorsque vous êtes à l'aise de stocker des clés privées localement. Le fichier contient les détails suivants.
- Identificateur Oracle Cloud de l'utilisateur (OCID)
- OCID 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, voir Clés et OCID requis.
-
Authentification du principal d'instance
L'authentification du principal d'instance consiste à autoriser une instance à effectuer des appels d'API sur les services OCI au moyen d'un groupe dynamique. Créez un groupe dynamique, des règles de correspondance et des politiques appropriées. Pour plus d'informations, voir Gestion des groupes dynamiques.
Pour permettre à l'instance d'envoyer des courriels, utilisez la politique suivante.
Allow dynamic-group <dynamic-group-name> to use email-family in compartment <compartment-name>
Pour plus d'informations sur la personnalisation de ces autorisations, voir Informations détaillées sur le service de transmission de messages.
Tâche 2 : Envoyer un courriel
Nous utiliserons la trousse SDK Python, mais toute trousse SDK ou l'interface de ligne de commande d'Oracle Cloud Infrastructure peut être remplacée. Pour plus d'informations sur l'installation, voir Trousses SDK et interface de ligne de commande.
Note : Consultez l'API de transmission de messages pour obtenir la liste complète des paramètres disponibles.
-
Authentication basée sur une clé d'API
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 de client de la trousse SDK Python à partir d'ici : configuration_example.py.
-
Authentification du principal d'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 la trousse SDK Python à partir d'ici : instance_principals_examples.py.
Tâche 3 : Tester au volume
Pour conserver à la fois votre réputation d'expéditeur et la nôtre, utilisez les meilleures pratiques suivantes lors des tests au volume.
-
Utilisez une adresse de réception dans le domaine
discard.oracle.com
, par exempleexample@discard.oracle.com
. Le service de transmission de messages pour OCI accepte le courriel, mais ne le transmet pas à une boîte de réception. -
Si des courriels volumineux sont envoyés à des adresses de courriel valides, les destinataires les rejettent, ce qui entraîne de nombreuses non-transmissions définitives. Ce résultat affecte négativement la réputation IP. Pour tester le traitement des non-transmissions, envoyez un petit nombre de courriels vers un domaine qui n'existe pas.
Liens connexes
-
Exemple de clé d'API de la trousse SDK Python : configuration_example.py
-
Exemple de principal d'instance de la trousse SDK Python : instance_principals_examples.py
Confirmation
- Auteur - Cody Brinkman (architecte en nuage)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez 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
F96700-02
May 2024