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.
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:
-
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.
-
Per creare un progetto in Visual Studio Code:
- Creare uno spazio di progetto creando una cartella con il nome OCIEmail.
- Aprire la cartella OCIEmail in VS Code File > Apri cartella.
- Aprire la finestra di terminale (ctrl + ~).
- 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.
- 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 !!"); } } }
-
Sostituire i seguenti parametri con i propri valori nel file Program.cs:
- 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.
- TO - Sostituire con l'indirizzo e-mail del destinatario.
- Credenziali SMTP: sostituire smtp_username e smtp_password con il nome utente e la password SMTP di Oracle Cloud Infrastructure generati nella console.
- HOST - Sostituisci con l'endpoint SMTP del servizio di consegna tramite e-mail. Ad esempio, smtp.us-ashburn-1.oraclecloud.com.
- Salvare le modifiche ed eseguire il comando seguente per inviare la posta:
dotnet run
- 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.
- Accedi alla casella di posta del destinatario per verificare la ricezione dell'e-mail.