Intégration de MailKit à Email Delivery

Utilisez MailKit pour envoyer des courriels via le service Email Delivery.

Configuration de MailKit pour l'envoi de courriels via Email Delivery

MailKit est un framework de messagerie multiplateforme open source pour les applications .NET. SmtpClient n'étant plus une approche suggérée pour l'envoi de courriels dans les applications .NET, vous pouvez utiliser MailKit pour envoyer et recevoir des courriels via Email Delivery. Avant d'utiliser MailKit, configurez un exemple de code MailKit et testez-le avec la configuration Email Delivery.

Important

Pour plus de facilité, les instructions suivantes contiennent un exemple de code qui doit être utilisé comme référence.

Pour configurer l'exemple de code MailKit et tester la configuration d'Email Delivery, procédez comme suit :

  1. Assurez-vous qu'Email Delivery est configuré pour envoyer des courriels. Reportez-vous à Introduction.

    Remarque

    Les informations d'identification SMTP sont requises afin de configurer MailKit afin d'utiliser Email Delivery. Veillez à noter le nom utilisateur et le mot de passe lorsque vous générez les informations d'identification SMTP.

  2. Pour créer un projet dans Visual Studio Code :

    1. Créez un espace de projet en créant un dossier nommé OCIEmail.
    2. Ouvrez le dossier OCIEmail dans Fichier de code VS > Ouvrir le dossier.
    3. Ouvrez la fenêtre de terminal (ctrl + ~).
    4. Pour créer le modèle de projet et ajouter la dépendance de MailKit, exécutez les commandes suivantes dans le terminal.
      dotnet new console --framework net6.0
      dotnet add package MailKit --version 2.15.0 

      Développez votre projet dans la fenêtre VS Code Explorer.

  3. Remplacez le contenu du fichier Program.cs par le bloc de code suivant :
    using System;
    
    using MailKit.Net.Smtp;
    using MailKit.Security; // Required for SecureSocketOptions when using port 25 or 587.
    using MailKit;
    using MimeKit;
    
    namespace Program {
        class TestOCIEmail
        {
            public static void Main (string[] args)
            {
                var message = new MimeMessage ();
                message.From.Add (new MailboxAddress ("<FROM NAME>", "<FROM>"));
                message.To.Add (new MailboxAddress ("<TO NAME>", "<TO>"));
                message.Subject = "Mail from OCI ED service";
    
                message.Body = new TextPart ("Html") {
                    Text = @"
                    <h1>OCI Email Delivery test</h1>
                    <p>This email was sent with OCI Email Delivery using the 
                    <a href='https://github.com/jstedfast/MailKit'>MailKit Package</a>
                    for .Net .</p>"
                };
    
                using (var client = new SmtpClient ()) {
    
                    var host = "<HOST>";
                    var port = 465; // Use port numbers 25, 587, or 465.
                    var username = "<smtp username>";
                    var password = "<smtp password>";
                    
                    // --- Connection Options ---
                    // For port 465 (SSL/TLS):
                    // Connect using SSL/TLS by setting 'useSsl' to true.
                    client.Connect(host, port, true);
    
                    /*
                    // For port 25 or 587 (STARTTLS):
                    // Connect with STARTTLS option instead of SSL/TLS.
                    client.Connect(host, port, SecureSocketOptions.StartTls);
                    */
                                                
                    client.Authenticate (username, password);
                    client.Send (message);
                    client.Disconnect (true);
                }
               Console.WriteLine("Email sent successfully !!");
            }
        }
    }
    

    Lignes directrices importantes :

    • Si vous utilisez port 465 :

      Utilisez client.Connect(host, port, true) pour une connexion SSL/TLS directe.

    • Si vous utilisez port 25 ou 587 :

      Utilisez client.Connect(host, port, SecureSocketOptions.StartTls).

      Assurez-vous d'avoir using MailKit.Security; en haut.

  4. Remplacez les paramètres suivants par vos propres valeurs dans le fichier Program.cs :
    1. FROM : remplacez la valeur par votre adresse électronique d'expéditeur. Assurez-vous que cette adresse électronique est ajoutée à la liste des destinataires approuvés dans Email Delivery.
    2. TO : remplacez la valeur par l'adresse électronique de votre destinataire.
    3. Informations d'identification SMTP : remplacez <smtp username> et <smtp password> par vos nom utilisateur et mot de passe SMTP Oracle Cloud Infrastructure générés dans la console.
    4. HOST : remplacez la valeur par l'adresse SMTP Email Delivery. Par exemple, smtp.us-ashburn-1.oraclecloud.com.
  5. Enregistrez les modifications et exécutez la commande suivante pour envoyer le courrier :
    dotnet run
  6. Vérifiez le résultat. Si l'envoi du courriel a réussi, la console affiche le courriel envoyé. Sinon, elle affiche un message d'erreur.
  7. Connectez-vous aux boîtes de réception des destinataires pour vérifier leur réception.