Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account 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 die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
C-Sharp-Code zur Verwendung von Oracle Cloud Infrastructure Email Delivery einrichten
Einführung
Oracle Cloud Infrastructure Email Delivery bietet eine schnelle und zuverlässige verwaltete Lösung zum Senden von sicheren, umfangreichen Marketing- und Transaktions-E-Mails.
Der Email Delivery-Service stellt Tools bereit, die zum Senden von anwendungsgenerierten E-Mails für erfolgsrelevante Kommunikation erforderlich sind, wie Quittungen, Warnungen zur Betrugserkennung, Multi-Faktor-Identitätsverifizierung und Kennwortrücksetzungen.
Hinweis: Die Plattform ist sowohl für Massen-/Marketing- als auch für Transaktions-E-Mails optimiert und nicht für persönliche Korrespondenz-E-Mails.
Wenn Sie E-Mails in C# mit dem Oracle Cloud Infrastructure (OCI) Email Delivery-Service senden möchten, der moderne Protokolle zum Senden von E-Mails verwendet, wird die .NET-Klasse SmtpClient
nicht mehr verwendet. Wir können jedoch ein Open-Source-Package namens Mailkit verwenden, das über einen E-Mail-Client verfügt, der eine Vielzahl moderner Protokolle unterstützt.
Das E-Mail-Zustellungsteam von Oracle Cloud Infrastructure verwaltet die Plattform mit wichtigen Zustellungsmetriken, um die bestmögliche Sendereputation für Ihre E-Mails zu gewährleisten. Sie erhalten folgende Informationen, wenn Sie E-Mails mit Email Delivery Service senden:
- SMTP-Konfigurationen für eindeutige Mailboxprovider auf unseren Mail Transfer Agents (MTA)
- Bounce-Collection
- Erfassung von Benutzerbeschwerden
- E-Mail-Authentifizierungsstandards
- Zustellungsleistung
Wenn Sie Email Delivery verwenden, wird es zu Ihrem ausgehenden E-Mail-Server. Wenn bereits ein E-Mail-Server vorhanden ist, können Sie ihn beibehalten und für den Versand über Email Delivery konfigurieren. Der Email Delivery-Service kümmert sich automatisch um die Feedbackschleifen und die Plattformreputation.
Zielsetzung
Richten Sie den C#-Code zur Verwendung von Oracle Cloud Infrastructure Email Delivery ein.
Voraussetzungen
-
Notieren Sie sich die Mailkit-Adresse GitHub: https://github.com/jstedfast/mailkit.
-
In der Empfehlung von Microsoft wird beschrieben, wie Sie die
SMTPClient
-Klasse nicht für neue Entwicklungen verwenden, wenn Sie moderne Protokolle verwenden und MailKit als Option empfehlen. -
MailKit ist sehr einfach zu installieren, vorausgesetzt, Sie haben bereits die Umgebung mit .NET eingerichtet, und das mit Ihrem Code erstellte Projekt zum Senden von E-Mails führen Sie den folgenden Befehl aus, um MailKit zu installieren.
\>\> dotnet add package MailKit \--version 3.5.0
Aufgabe 1: OCI Email Delivery konfigurieren
Hinweis: Die folgende Konfiguration dient zum Beispiel und berücksichtigt nicht die Best Practices zum Konfigurieren des Service.
Weitere Informationen finden Sie unter Best Practices für Zustellbarkeit.
-
Rufen Sie im Oracle Cloud-Portal den OCI Email Delivery-Service auf.
-
Erstellen Sie eine Domain zum Senden von Nachrichten.
-
Konfigurieren Sie einen genehmigten Absender zum Senden von Nachrichten.
Aufgabe 2: C#-Code einrichten
-
Im Folgenden finden Sie einen Beispielcode, der entsprechend Ihren Anforderungen geändert werden kann. Beachten Sie, dass ein genehmigter Absender bereits in der OCI Email Delivery-Konsole erstellt werden muss (wie in Aufgabe 1 gezeigt).
using System; using MailKit.Net.Smtp; using MailKit; using MimeKit; namespace MyApp // Note: actual namespace depends on the project name. { internal class Program { static void Main(string\[\] args) { try { // Replace these values with the actual values for your email account and OCI Email Delivery service var fromAddress = \"[[user@testdomain.com]{.underline}](mailto:userfrom@testdomain.com)\"; var toAddress = \"[[user@example.com]{.underline}](mailto:userto@example.com)\"; var smtpUsername = \"ocid1.user.oc1..aaaaaaaa4xxxxxxxxxg6vwabewu6f4xxxxxxxxxxhpbe3d56gc7ljwt2a@ocid1.tenancy.oc1..[aaaaaaaah2c25pobzyzvkcznnozputxfxtz3qvewrqaga7z66tdjrgvigbiq.ck.com]{.underline}\"; var smtpPassword = \"XXXXXXXXXXX\"; var smtpHost = \"[[smtp.]{.underline}email[.us-ashburn-1.oci.oraclecloud.com]{.underline}](http://smtp.email.us-ashburn-1.oci.oraclecloud.com)\"; var smtpPort = 587; var message = new MimeMessage (); message.From.Add (new MailboxAddress (\"Ivan Vasquez\", fromAddress)); message.To.Add (new MailboxAddress (\"Ivan Vasquez\", toAddress)); message.Subject = \"Test Email from OCI\"; message.Body = new TextPart (\"Html\") { Text = @\" \<h1\>OCI Email Delivery test\</h1\> \<p\>This email was sent from Email Delivery Service\</p\>\" }; using (var client = new SmtpClient ()) { client.Connect (smtpHost, smtpPort, false); client.Authenticate (smtpUsername, smtpPassword); client.Send (message); client.Disconnect (true); } Console.WriteLine(\"Email send successfully !!\"); } catch (Exception ex) { Console.WriteLine(\"Error sending email: \" + ex.Message); } } } }
-
Erstellen Sie Ihren Code mit dem folgenden Befehl:
\>\>dotnet build
. Es werden keine Fehler angezeigt. -
Führen Sie den folgenden Befehl aus:
\>\>dotnet run
. Die E-Mail wurde erfolgreich gesendet.
Verwandte Links
Danksagungen
Autoren - Leandro Camargo (Cloud Specialist A-Team), Ivan Vasquez (Cloud Specialist A-Team)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Set up C-Sharp code to use Oracle Cloud Infrastructure Email Delivery service
F81094-01
May 2023
Copyright © 2023, Oracle and/or its affiliates.