Condividi tramite


Inviare un messaggio di posta elettronica con SMTP

Questo articolo descrive come inviare messaggi di posta elettronica tramite SMTP (Simple Mail Transfer Protocol).

Prerequisiti

Il completamento di questo articolo comporta un piccolo costo di alcuni centesimi di dollaro o meno sul tuo account Azure.

Annotazioni

È anche possibile inviare un messaggio di posta elettronica dal proprio dominio verificato. Aggiungere domini verificati personalizzati al servizio di comunicazione tramite posta elettronica.

Questo articolo descrive come inviare messaggi di posta elettronica con Servizi di comunicazione di Azure tramite SMTP.

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire il comando dotnet per verificare se la libreria client .NET è installata.
  • Per visualizzare i sottodomini associati alla risorsa di posta elettronica di comunicazione di Azure, accedere al portale di Azure. Individua la risorsa di posta elettronica di Azure Communication e apri la scheda Provision domains nel riquadro di navigazione a sinistra.

Creare una nuova applicazione C#

In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando dotnet new per creare una nuova app console con il nome EmailQuickstart. Questo comando crea un semplice progetto C# "Hello World" con un singolo file di origine: Program.cs.

dotnet new console -o EmailSmtpQuickstart

Passare alla cartella dell'app appena creata e usare il comando dotnet build per compilare l'applicazione.

cd EmailSmtpQuickstart
dotnet build

Creare il messaggio di posta elettronica

Per costruire un messaggio di posta elettronica, è necessario:

  • Definire le credenziali di autenticazione SMTP usando l'ID Microsoft Entra.
  • Definire l'oggetto e il corpo del messaggio di posta elettronica.
  • Specificare l'indirizzo del mittente. Ottieni l'indirizzo MailFrom dal tuo dominio verificato.
  • Specificare l'indirizzo del destinatario.

Sostituire con i dettagli del dominio e modificare il contenuto. Aggiungere i dettagli del destinatario in base alle esigenze.

//Replace with your domain and modify the content, recipient details as required

string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";

Inviare un messaggio di posta elettronica con System.Net.Mail.SmtpClient

Per inviare un messaggio di posta elettronica, è necessario:

  1. Creare un SmtpClient utilizzando l'URL host dei Servizi di comunicazione di Azure e le credenziali di autenticazione SMTP.
  2. Creare un messaggio di posta elettronica.
  3. Inviare usando il SmtpClient metodo Send.
using System.Net;
using System.Net.Mail;

string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";

string smtpHostUrl = "smtp.azurecomm.net";
var client = new SmtpClient(smtpHostUrl)
{
    Port = 587,
    Credentials = new NetworkCredential(smtpAuthUsername, smtpAuthPassword),
    EnableSsl = true
};

var message = new MailMessage(sender, recipient, subject, body);

try
{
    client.Send(message);
    Console.WriteLine("The email was successfully sent using Smtp.");
}
catch (Exception ex)
{
    Console.WriteLine($"Smtp send failed with the exception: {ex.Message}.");
}

Prerequisiti

Il completamento di questa esercitazione rapida comporta un costo ridotto di pochi centesimi (USD) o meno nel proprio account Azure.

Annotazioni

È anche possibile inviare un messaggio di posta elettronica dal proprio dominio verificato. Aggiungere domini verificati personalizzati al servizio di comunicazione tramite posta elettronica.

Questo articolo descrive come inviare messaggi di posta elettronica con Servizi di comunicazione di Azure tramite SMTP.

Inviare un messaggio di posta elettronica usando Send-MailMessage

Le credenziali possono essere verificate usando l'utilità Microsoft PowerShell Send-MailMessage. Per la sintassi, vedere Send-MailMessage .

Per archiviare le credenziali nel formato PSCredential richiesto, usare i comandi di PowerShell seguenti:

$Password = ConvertTo-SecureString -AsPlainText -Force -String '<Entra Application Client Secret>'
$Cred = New-Object -TypeName PSCredential -ArgumentList '<SMTP Username>', $Password

Usare lo script di PowerShell seguente per inviare il messaggio di posta elettronica. Il valore From è l'indirizzo di posta elettronica del dominio verificato. Il valore A è l'indirizzo di posta elettronica a cui si desidera inviare.

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail' -Body 'test' -SmtpServer 'smtp.azurecomm.net' -Port 587 -Credential $Cred -UseSsl