Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Registrieren eines kostenlosen Accounts finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch spezifische Werte für Ihre Cloud-Umgebung.
E-Mails mit der HTTP-Schnittstelle des Oracle Cloud Infrastructure Email Delivery-Service senden
Einführung
Oracle Cloud Infrastructure (OCI) Email Delivery ist ein schneller und zuverlässiger verwalteter Service zum Senden umfangreicher Bulk- und Transaktions-E-Mails. Zuvor enthielt OCI Email Delivery nur eine Simple Mail Transfer Protocol-(SMTP-)Schnittstelle. Wir haben jedoch kürzlich eine neue HTTPS-REST-API für die E-Mail-Übermittlung angekündigt, die Performance verbessert, die Konfigurationskomplexität beseitigt und die Rate der erfolgreichen Posteingangsplatzierung erhöht.
Zielsetzung
- Senden Sie E-Mails über die HTTP-Schnittstelle des OCI Email Delivery-Service.
Voraussetzungen
-
Ein Benutzer mit ausreichenden Berechtigungen zum Senden von E-Mails mit OCI Email Delivery. Weitere Informationen zu den Richtlinien finden Sie hier.
-
Eine OCI Email Delivery-Domain. Weitere Informationen zum Einrichten einer OCI Email Delivery-Domain finden Sie unter Schritt-für-Schritt-Anweisungen zum Senden von E-Mails mit OCI Email Delivery.
Aufgabe 1: Authentifizierungsmethoden verstehen
HTTPS-E-Mail-Weiterleitungen unterstützen Standard-OCI-SDK-Authentifizierungsmethoden. In diesem Tutorial werden API-schlüsselbasierte Authentifizierung und Instanz-Principal-Authentifizierung vorgestellt. Weitere Informationen finden Sie unter OCI-SDK-Authentifizierungsmethoden.
-
Auf API-Schlüssel basierende Authentifizierung
Bei dieser Authentifizierung erstellen Sie eine Konfigurationsdatei und speichern sie auf dem lokalen Rechner. Daher sollte es nur über ein sicheres Netzwerk verwendet werden und wenn Sie die Private Keys lokal speichern können. Die Datei enthält die folgenden Details.
- Oracle Cloud-ID (OCID) des Benutzers
- Mandanten-OCID
- Bereich
- Private-Key-Pfad
- Fingerabdruck
Weitere Informationen zum Erstellen und Sammeln der oben genannten Parameter finden Sie unter Erforderliche Schlüssel und OCIDs.
-
Instance Principal-Authentifizierung
Bei der Instanz-Principal-Authentifizierung wird eine Instanz autorisiert, API-Aufrufe auf OCI-Services über eine dynamische Gruppe auszuführen. Erstellen Sie eine dynamische Gruppe, Übereinstimmungsregeln und korrekte Policys. Weitere Informationen finden Sie unter Dynamische Gruppen verwalten.
Um der Instanz das Senden von E-Mails zu ermöglichen, verwenden Sie die folgende Policy.
Allow dynamic-group <dynamic-group-name> to use email-family in compartment <compartment-name>
Weitere Informationen zum Anpassen dieser Berechtigungen finden Sie unter Details zum Email Delivery-Service.
Aufgabe 2: E-Mail senden
Wir verwenden das Python-Softwareentwicklungskit (SDK), aber jedes SDK oder die Oracle Cloud Infrastructure-Befehlszeilenschnittstelle (OCI-CLI) kann ersetzt werden. Weitere Informationen zur Installation finden Sie unter Software Development Kits und Command Line Interface.
Hinweis: Eine vollständige Liste der verfügbaren Parameter finden Sie in der Email Delivery-API.
-
Auf API-Schlüssel basierende Authentifizierung
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)
Laden Sie das Beispiel für die Python-SDK-Clientkonfiguration von hier herunter: configuration_example.py.
-
Instance Principal-Authentifizierung
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)
Laden Sie das Python-SDK-Instanz-Principal-Beispiel von hier herunter: instance_principals_examples.py.
Aufgabe 3: Bei Volumen testen
Um sowohl Ihre Absenderreputation als auch unsere zu erhalten, verwenden Sie die folgenden Best Practices beim Testen auf Volumen.
-
Verwenden Sie eine Empfangsadresse in der Domain
discard.oracle.com
, wieexample@discard.oracle.com
. OCI Email Delivery akzeptiert die E-Mail, übermittelt sie jedoch nicht an einen Posteingang. -
Wenn große E-Mails an gültige E-Mail-Adressen gesendet werden, lehnen Empfänger sie ab, was zu vielen Hard Bounces führt. Dieses Ergebnis wirkt sich negativ auf die IP-Reputation aus. Um die Bounceverarbeitung zu testen, senden Sie kleine Mengen von E-Mails an eine nicht vorhandene Domain.
Verwandte Links
-
Schritt-für-Schritt-Anweisungen zum Senden von E-Mails mit OCI Email Delivery
-
Beispiel für einen Python-SDK-API-Schlüssel: configuration_example.py
-
Beispiel für den Python-SDK-Instanz-Principal: instance_principals_examples.py
Danksagungen
- Autor - Cody Brinkman (Cloud-Architekt)
Weitere Lernressourcen
Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Außerdem können Sie education.oracle.com/learning-explorer besuchen, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Send Emails using the Oracle Cloud Infrastructure Email Delivery Service HTTP Interface
F96698-02
May 2024