Remarque :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Configurer du code C-Sharp pour utiliser le service Oracle Cloud Infrastructure Email Delivery
Introduction
Le service Oracle Cloud Infrastructure Email Delivery fournit une solution gérée à la fois rapide et fiable pour l'envoi de courriels transactionnels et marketing sécurisés à volume élevé.
Le service Email Delivery fournit les outils nécessaires pour envoyer des courriels générés par l'application pour des communications fondamentales telles que les reçus, les alertes de détection des fraudes, la vérification d'identité à plusieurs facteurs et la réinitialisation de mot de passe.
Remarque : la plate-forme est optimisée pour les courriels en masse/marketing et transactionnels, et non pour les courriels de correspondance personnels.
Si vous voulez envoyer des courriels en numéro C avec le service Oracle Cloud Infrastructure (OCI) Email Delivery qui utilise des protocoles modernes pour l'envoi des courriels, la classe SmtpClient
.NET n'est plus utilisée. Cependant, nous pouvons utiliser un package open source nommé Mailkit qui dispose d'un client de messagerie prenant en charge un large éventail de protocoles modernes.
L'équipe de délivrabilité de courriel d'Oracle Cloud Infrastructure gère la plate-forme à l'aide de mesures clés de délivrabilité afin de garantir la meilleure réputation d'envoi possible pour vos courriels. Les éléments suivants vous sont fournis lorsque vous envoyez des courriels à l'aide du service Email Delivery :
- Configurations SMTP uniques pour les fournisseurs de boîtes aux lettres sur nos agents de transfert de courrier (MTA)
- Collecte des courriels refusés
- Collecte des réclamations des utilisateurs
- Normes d'authentification des courriels
- Performances de délivrabilité
Lorsque vous utilisez Email Delivery, il devient votre serveur de messagerie sortant. Si vous disposez d'un serveur de messagerie existant, vous pouvez le conserver et le configurer pour l'envoyer via Email Delivery. Le service Email Delivery s'occupe automatiquement des boucles de retour et de la réputation de la plate-forme.
Objectif
Configurez le code C# pour utiliser le service Oracle Cloud Infrastructure Email Delivery.
Prérequis
-
Notez l'adresse GitHub Mailkit : https://github.com/jstedfast/mailkit.
-
Reportez-vous à la recommandation de Microsoft concernant le fait de ne pas utiliser la classe
SMTPClient
pour les nouveaux développements lors de l'utilisation de protocoles modernes et de recommander MailKit comme option. -
MailKit est très facile à installer, en supposant que l'environnement est déjà configuré avec .NET, et que le projet créé avec votre code pour envoyer des courriels, exécutez la commande suivante pour installer MailKit.
\>\> dotnet add package MailKit \--version 3.5.0
Tâche 1 : configuration d'OCI Email Delivery
Remarque : La configuration suivante sert à titre d'exemple et ne prend pas en compte les meilleures pratiques de configuration du service.
Pour plus d'informations, reportez-vous à Meilleures pratiques en matière de remise de courriels.
-
Sur le portail Oracle Cloud, accédez au service OCI Email Delivery.
-
Créez un domaine pour l'envoi de messages.
-
Configurer un expéditeur approuvé pour l'envoi de messages.
Tâche 2 : configurer le code C#
-
Vous trouverez ci-dessous un exemple de code pouvant être modifié en fonction de vos besoins. N'oubliez pas qu'un expéditeur approuvé doit déjà être créé dans la console OCI Email Delivery (comme indiqué dans la tâche 1).
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); } } } }
-
Créez votre code à l'aide de la commande suivante :
\>\>dotnet build
. Aucune erreur ne s'affiche. -
Exécutez la commande suivante :
\>\>dotnet run
. L'envoi du courriel a réussi.
Liens connexes
Remerciements
Auteurs - Leandro Camargo (équipe de spécialiste du cloud), Ivan Vasquez (équipe de spécialiste du cloud)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour consulter la documentation produit, consultez 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.