Integrazione di MailKit con il servizio di consegna tramite e-mail

Utilizzare MailKit per inviare e-mail tramite il servizio di consegna tramite e-mail.

Configurare MailKit per l'invio di e-mail tramite il servizio di consegna tramite posta elettronica

MailKit è un framework di posta elettronica multipiattaforma open source per le applicazioni .NET. Poiché SmtpClient non è più un approccio consigliato per inviare messaggi di posta elettronica nelle applicazioni .NET, è possibile utilizzare MailKit per inviare e ricevere messaggi di posta elettronica tramite il servizio di consegna tramite posta elettronica. Prima di utilizzare MailKit, impostare un codice MailKit di esempio e testarlo con la configurazione del servizio di consegna tramite e-mail.

Importante

Le seguenti istruzioni contengono un codice di esempio per comodità e devono essere utilizzate come riferimento.

Per impostare il codice di esempio MailKit ed eseguire il test della configurazione del servizio di consegna tramite e-mail:

  1. Assicurarsi che il servizio di consegna tramite e-mail sia configurato per l'invio di e-mail. Vedere Guida introduttiva.

    Nota

    Le credenziali SMTP sono necessarie per configurare MailKit in modo che utilizzi il servizio di consegna tramite e-mail. Assicurarsi di prendere nota del nome utente e della password quando si generano le credenziali SMTP.

  2. Per creare un progetto in Visual Studio Code:

    1. Creare uno spazio di progetto creando una cartella con il nome OCIEmail.
    2. Aprire la cartella OCIEmail in VS Code File > Apri cartella.
    3. Aprire la finestra di terminale (ctrl + ~).
    4. Per creare il modello di progetto e aggiungere la dipendenza di MailKit, eseguire i comandi seguenti nel terminale.
      dotnet new console --framework net6.0
      dotnet add package MailKit --version 2.15.0 

      Espandere il progetto nella finestra VS Code Explorer.

  3. Sostituire il contenuto del file Program.cs con il blocco di codice seguente:
    using System;
    
    using MailKit.Net.Smtp;
    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 = 587;
                    var username = "<smtp username>";
                    var password = "<smtp password>";
                    
                    client.Connect (host, port, false);
    
                    client.Authenticate (username, password);
    
                    client.Send (message);
                    client.Disconnect (true);
                }
               Console.WriteLine("Email send successfully !!");
            }
        }
    }
    
  4. Sostituire i seguenti parametri con i propri valori nel file Program.cs:
    1. FROM - Sostituisci con il tuo indirizzo email del mittente. Assicurarsi che questo indirizzo e-mail venga aggiunto all'elenco Mittenti approvati in Consegna tramite e-mail.
    2. TO - Sostituire con l'indirizzo e-mail del destinatario.
    3. Credenziali SMTP: sostituire smtp_username e smtp_password con il nome utente e la password SMTP di Oracle Cloud Infrastructure generati nella console.
    4. HOST - Sostituisci con l'endpoint SMTP del servizio di consegna tramite e-mail. Ad esempio, smtp.us-ashburn-1.oraclecloud.com.
  5. Salvare le modifiche ed eseguire il comando seguente per inviare la posta:
    dotnet run
  6. Esaminare l'output. Se il messaggio e-mail viene inviato correttamente, nella console viene visualizzato il messaggio Invio del messaggio e-mail riuscito. Altrimenti, viene visualizzato un messaggio di errore.
  7. Accedi alla casella di posta del destinatario per verificare la ricezione dell'e-mail.