Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Impostare il codice C-Sharp per utilizzare il servizio Oracle Cloud Infrastructure Email Delivery
Introduzione
Il servizio Oracle Cloud Infrastructure Email Delivery offre una soluzione gestita rapida e affidabile per l'invio di e-mail sicure e a volumi elevati di marketing e transazionali.
Il servizio di consegna tramite e-mail fornisce gli strumenti necessari per inviare e-mail generate dall'applicazione per comunicazioni mission critical, quali ricevute di ritorno, avvisi di rilevamento frodi, verifica dell'identità a più fattori e reimpostazioni delle password.
Nota: la piattaforma è ottimizzata per e-mail in blocco/marketing e transazionali e non per e-mail di corrispondenza personale.
Se si desidera inviare e-mail in C# con il servizio di consegna tramite e-mail di Oracle Cloud Infrastructure (OCI) che utilizza protocolli moderni per l'invio della posta, la classe SmtpClient .NET non viene più utilizzata. Tuttavia, possiamo utilizzare un pacchetto open source denominato Mailkit con un client di posta elettronica che supporta una vasta gamma di protocolli moderni.
Il team di Oracle Cloud Infrastructure Email Deliverability gestisce la piattaforma utilizzando metriche chiave di recapitabilità per garantire la migliore reputazione di invio possibile per le tue e-mail. Quando invii messaggi con il servizio di consegna tramite e-mail, ti vengono forniti i seguenti elementi:
- Configurazioni SMTP univoche del provider della casella postale sui nostri agenti di trasferimento posta (MTA)
- Raccolta dei rifiuti
- Raccolta dei reclami degli utenti
- Standard di autenticazione e-mail
- Prestazioni recapitabilità
Il servizio di consegna tramite e-mail diventa il server e-mail in uscita. Se disponi di un server e-mail esistente, puoi conservarlo e configurarlo per l'invio tramite il servizio di consegna tramite e-mail. Il servizio di consegna tramite e-mail gestisce automaticamente i cicli di feedback e la reputazione della piattaforma.
Obiettivo
Impostare il codice C# per utilizzare il servizio Oracle Cloud Infrastructure Email Delivery.
Prerequisiti
-
Prendere nota dell'indirizzo GitHub Mailkit: https://github.com/jstedfast/mailkit.
-
Consultare la raccomandazione di Microsoft sul non utilizzo della classe
SMTPClientper nuovi sviluppi quando si utilizzano protocolli moderni e come opzione consigliata a MailKit.
-
MailKit è molto facile da installare, supponendo che l'ambiente sia già impostato con .NET e che il progetto creato con il codice per l'invio di e-mail, eseguire il comando seguente per installare MailKit.
\>\> dotnet add package MailKit \--version 3.5.0
Task 1: Configura consegna tramite e-mail OCI
Nota: la configurazione riportata di seguito, ad esempio, è utile e non tiene conto delle procedure ottimali per la configurazione del servizio.
Per ulteriori informazioni, vedere Best practice di recapitabilità.
-
Nel portale Oracle Cloud accedere al servizio Consegna tramite posta elettronica OCI.

-
Crea un dominio per l'invio dei messaggi.

-
Configurare un mittente approvato per l'invio dei messaggi.

Task 2: Impostare il codice C#
-
Di seguito è riportato un codice di esempio che può essere modificato in base alle tue esigenze. Ricorda che è necessario creare un mittente approvato nella console di consegna tramite e-mail OCI (come mostrato nel task 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); } } } } -
Creare il codice utilizzando il seguente comando:
\>\>dotnet build. Non viene visualizzato alcun errore.
-
Eseguire il comando seguente:
\>\>dotnet run. Invio della posta elettronica riuscito.

Collegamenti correlati
Conferme
Autori - Leandro Camargo (Cloud Specialist A-Team), Ivan Vasquez (Cloud Specialist A-Team)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.
Per la documentazione sul prodotto, visitare il sito 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.