Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida introduttiva spiega come inviare messaggi di posta elettronica usando gli SDK di Email.
Introduzione ai Servizi di comunicazione di Azure utilizzando la funzione "Prova Email" per inviare messaggi di posta elettronica.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- La libreria client .NET Core più recente per il sistema operativo.
- Una risorsa di Servizi di comunicazione di posta elettronica di Azure creata e pronta con un dominio di cui è stato effettuato il provisioning Introduzione alla creazione di una risorsa di comunicazione tramite posta elettronica
- Una risorsa di Servizi di comunicazione attiva connessa al dominio della posta elettronica. Connettere un dominio di posta elettronica verificato per inviare un messaggio di posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Invia un'email usando Try Email
Provare La posta elettronica consente di iniziare a inviare messaggi di posta elettronica ai destinatari desiderati usando Servizi di comunicazione di Azure e di verificare la configurazione per l'applicazione per l'invio di messaggi di posta elettronica. Consente anche di iniziare subito lo sviluppo di notifiche tramite posta elettronica con il frammento di codice nel linguaggio preferito.
Per inviare un messaggio a un destinatario e specificare l'oggetto e il corpo del messaggio:
Nella pagina di panoramica di una risorsa di Servizio di Comunicazione Azure aprovisionata, fare clic su Prova Email nel pannello di navigazione a sinistra sotto Posta elettronica.
Selezionare uno dei domini verificati dall'elenco a discesa.
Comporre il messaggio di posta elettronica da inviare.
- Immettere l’indirizzo di posta elettronica del destinatario
- Immettere l'oggetto
- Scrivere il corpo del messaggio di posta elettronica
Fare clic su Invia.
Messaggio di posta elettronica inviato correttamente.
È anche possibile copiare il frammento di codice di esempio per inviare un messaggio di posta elettronica da usare nel progetto di esempio per inviare notifiche.
Il frammento di codice di posta elettronica è ora pronto per essere usato nel progetto di notifica.
Per iniziare a usare Servizi di comunicazione di Azure, usare l'estensione di comunicazione dell'interfaccia della riga di comando di Azure per inviare messaggi di posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- Una risorsa dei Servizi di comunicazione di Azure per la posta elettronica creata e munita di un dominio configurato. Creare una risorsa di comunicazione tramite posta elettronica.
- Una risorsa di Servizi di comunicazione di Azure attiva connessa al dominio di posta elettronica e relativa stringa di connessione. Connettere un dominio di posta elettronica verificato per inviare un messaggio di posta elettronica.
- L'ultima versione di Azure CLI.
Controllo dei prerequisiti
- In un terminale o in una finestra di comando eseguire il comando
az --version
per verificare che l'interfaccia della riga di comando di Azure e l'estensione di comunicazione siano installate. - Per visualizzare i domini verificati con la risorsa servizi di comunicazione tramite posta elettronica, accedere al portale di Azure. Individuare la risorsa Servizi di comunicazione di posta elettronica e aprire la scheda Effettua il provisioning dei domini nel riquadro di spostamento sinistro.
Configurazione
Aggiungere l'estensione
Aggiungere l'estensione Servizi di comunicazione di Azure per l'interfaccia della riga di comando di Azure usando il comando az extension
.
az extension add --name communication
Accedere all'interfaccia della riga di comando di Azure
È necessario accedere ad Azure CLI. È possibile accedere eseguendo il comando az login
dal terminale e specificando le credenziali.
Archiviare la stringa di connessione in una variabile di ambiente
È possibile configurare la variabile di ambiente AZURE_COMMUNICATION_CONNECTION_STRING
per usare le operazioni principali dell'interfaccia della riga di comando di Azure senza dover usare --connection_string
per passare la stringa di connessione. Per configurare una variabile di ambiente, aprire una finestra della console e selezionare il sistema operativo dalle schede seguenti. Sostituire <connectionString>
con la stringa di connessione effettiva.
Nota
Non archiviare la stringa di connessione come variabile di ambiente non crittografata per gli ambienti di produzione. Questo metodo è destinato solo ai test. Per gli ambienti di produzione, è necessario generare nuove stringhe di connessione. È consigliabile crittografare le stringhe di connessione e modificarle regolarmente.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Dopo aver aggiunto la variabile di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Invio di un messaggio di posta elettronica
az communication email send
--connection-string "yourConnectionString"
--sender "<[email protected]>"
--to "<[email protected]>"
--subject "Welcome to Azure Communication Services Email" --text "This email message is sent from Azure Communication Services Email using Azure CLI."
Effettuare queste sostituzioni nel codice:
- Sostituire
<yourConnectionString>
con la stringa di connessione. - Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui inviare un messaggio. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Questo comando esegue anche un polling su messageId
e restituisce lo stato della consegna dell'email. Lo stato può essere uno dei valori seguenti:
Nome stato | Descrizione |
---|---|
Non Avviato | Al momento, non inviamo questo stato dal nostro servizio. |
In esecuzione | L'operazione di invio di posta elettronica è attualmente in corso ed è in corso l'elaborazione. |
Operazione completata | L'operazione di invio tramite posta elettronica è stata completata senza errori e il messaggio di posta elettronica è in uscita per il recapito. È possibile ottenere qualsiasi stato dettagliato relativo al recapito della posta elettronica oltre questa fase tramite Monitoraggio di Azure o Griglia di eventi di Azure. Informazioni su come sottoscrivere eventi di posta elettronica. |
Non riuscito | L'operazione di invio del messaggio di posta elettronica non è riuscita e ha rilevato un errore. Il messaggio di posta elettronica non è stato inviato. Il risultato contiene un oggetto errore con altri dettagli sul motivo dell'errore. |
Parametri facoltativi
I parametri facoltativi seguenti sono disponibili nell'interfaccia della riga di comando di Azure.
--html
può essere usato invece di--text
per il corpo della posta elettronica in formato html.--importance
imposta il tipo di priorità del messaggio di posta elettronica. I valori validi sono Alta, Normale e Bassa. L'impostazione predefinita è Normale.--to
imposta l'elenco dei destinatari della posta elettronica.--cc
imposta gli indirizzi di posta elettronica per la copia per conoscenza.--bcc
imposta gli indirizzi di posta elettronica per la copia per conoscenza nascosta.--reply-to
imposta l’indirizzo di posta elettronica di risposta.--disable-tracking
indica se il rilevamento dell'engagement degli utenti deve essere disabilitato per questa richiesta.--attachments
imposta l'elenco degli allegati di posta elettronica.--attachment-types
imposta l'elenco dei tipi di allegati di posta elettronica, nello stesso ordine degli allegati.
È anche possibile usare un elenco di destinatari con --cc
e --bcc
simili a --to
. Deve essere presente almeno un destinatario in --to
o --cc
o --bcc
.
Per iniziare a usare i Servizi di comunicazione di Azure, utilizzare la libreria client Email per C# di Servizi di comunicazione per inviare messaggi di posta elettronica.
Suggerimento
Dai il via subito alla tua esperienza di invio email con Servizi di comunicazione di Azure passando direttamente al codice di esempio di Invio di email di base e Invio di email avanzata su GitHub.
Informazioni sul modello a oggetti Posta elettronica
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità della libreria client di Posta Elettronica di Servizi di comunicazione di Azure per C#.
Nome | Descrizione |
---|---|
Indirizzo email | Questa classe contiene un indirizzo di posta elettronica e un'opzione per un nome visualizzato. |
Allegato Email | Questa classe crea un allegato di posta elettronica accettando un ID univoco, una stringa di tipo MIME per l'allegato di posta elettronica, dati binari per il contenuto e un ID contenuto opzionale per definirlo come allegato inline. |
EmailClient | Questa classe è necessaria per tutte le funzionalità della posta elettronica. È possibile crearne un'istanza con la stringa di connessione e usarla per inviare messaggi di posta elettronica. |
Opzioni del Client Email | Questa classe può essere aggiunta all'istanza di EmailClient per specificare una versione dell'API come destinazione. |
Contenuto dell'Email | Questa classe contiene l'oggetto e il corpo del messaggio di posta elettronica. È necessario specificare almeno un contenuto in testo normale o formato Html |
IntestazionePersonalizzataEmail | Questa classe consente di aggiungere un nome e una coppia di valori per personalizzare un'intestazione. È possibile anche specificare la priorità tramite le intestazioni usando il nome dell’intestazione 'x-priority' o 'x-msmail-priority' |
Messaggio Email | Questa classe combina il mittente, il contenuto e i destinatari. Facoltativamente, è anche possibile aggiungere intestazioni, allegati e indirizzi di posta elettronica di risposta personalizzati. |
Destinatari Email | Questa classe mantiene liste di oggetti di tipo EmailAddress per i destinatari del messaggio di posta elettronica, compresi gli elenchi facoltativi per i destinatari CC e CCN. |
Operazione di invio email | Questa classe rappresenta l'operazione di invio di posta elettronica asincrona e viene restituita dalla chiamata API di invio tramite posta elettronica. |
RisultatoInvioEmail | Questa classe contiene i risultati dell'operazione di invio tramite posta elettronica. Include un ID operazione, lo stato dell'operazione e l'oggetto dell’errore (se applicabile). |
EmailSendResult restituisce lo stato seguente nell'operazione di completamento dell’invio di posta elettronica.
Stato | Descrizione |
---|---|
Non Avviato | Al momento, non inviamo questo stato dal nostro servizio. |
In esecuzione | L'operazione di invio di posta elettronica è attualmente in corso ed è in corso l'elaborazione. |
Operazione completata | L'operazione di invio del messaggio di posta elettronica viene completata senza errori e il messaggio di posta elettronica è in uscita per il recapito. È possibile ottenere qualsiasi stato dettagliato relativo al recapito della posta elettronica oltre questa fase tramite Monitoraggio di Azure o Griglia di eventi di Azure. Informazioni su come sottoscrivere eventi di posta elettronica |
Non riuscito | L'operazione di invio della posta elettronica non è riuscita e si è verificato un errore. Il messaggio di posta elettronica non è stato inviato. Il risultato contiene un oggetto errore con altri dettagli sul motivo dell'errore. |
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- La libreria client .NET Core più recente per il sistema operativo.
- Una risorsa di Servizi di comunicazione di posta elettronica di Azure creata e pronta con un dominio di cui è stato effettuato il provisioning Creare una risorsa di comunicazione tramite posta elettronica.
- Una risorsa di Servizi di comunicazione di Azure attiva connessa al dominio della posta elettronica e a una stringa di connessione. Creare e gestire le risorse del servizio di comunicazione tramite posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Nota
È anche possibile inviare un messaggio di posta elettronica dal dominio verificato. Aggiungere domini verificati personalizzati al servizio di comunicazione tramite posta elettronica.
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 Servizi di comunicazione di posta elettronica, accedere al portale di Azure, individuare la risorsa Servizi di comunicazione di posta elettronica e aprire la scheda Provision domains (Effettuare il provisioning dei domini ) dal riquadro di spostamento 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 EmailQuickstart
Passare alla cartella dell'app appena creata e usare il comando dotnet build
per compilare l'applicazione.
cd EmailQuickstart
dotnet build
Installare il pacchetto
Sempre all’interno della directory dell'applicazione, installare il pacchetto della libreria client Posta elettronica di Servizi di comunicazione di Azure per .NET usando il comando dotnet add package
.
dotnet add package Azure.Communication.Email
Creare il client di posta elettronica con l'autenticazione
Aprire Program.cs e sostituire il codice esistente con il codice seguente per aggiungere le direttive using
per includere lo Azure.Communication.Email
spazio dei nomi e un punto di partenza per l'esecuzione del tuo programma.
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Email;
namespace SendEmail
{
internal class Program
{
static async Task Main(string[] args)
{
}
}
}
Sono disponibili alcune opzioni diverse per l'autenticazione di un client di posta elettronica:
Aprire Program.cs in un editor di testo e sostituire il corpo del Main
metodo con codice per inizializzare un EmailClient
con la stringa di connessione. Il codice seguente recupera la stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING
. Informazioni su come gestire la stringa di connessione della risorsa.
// This code demonstrates how to fetch your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
EmailClient emailClient = new EmailClient(connectionString);
Nota
Non è consigliabile usare il polling manuale (Inviare un messaggio email con polling dello stato asincrono) per inviare messaggi email.
Inviare un messaggio di posta elettronica di base
Creare il messaggio di posta elettronica
Per inviare un messaggio di posta elettronica, è necessario:
- Specificare l'oggetto e il corpo del messaggio di posta elettronica.
- Specificare l'indirizzo del mittente. Costruisci il tuo messaggio di posta elettronica utilizzando le informazioni del mittente ottenute dal tuo indirizzo MailFrom del dominio verificato.
- Specificare l'indirizzo del destinatario.
- Chiamare il metodo SendAsync. Aggiungere questo codice alla fine del
Main
metodo in Program.cs:
Sostituire con i dettagli del dominio e modificare il contenuto e i dettagli del destinatario in base alle esigenze
//Replace with your domain and modify the content, recipient details as required
var subject = "Welcome to Azure Communication Service Email APIs.";
var htmlContent = "<html><body><h1>Quick send email test</h1><br/><h4>This email message is sent from Azure Communication Service Email.</h4><p>This mail was sent using .NET SDK!!</p></body></html>";
var sender = "[email protected]";
var recipient = "[email protected]";
Inviare e ottenere lo stato di invio tramite posta elettronica
Quando si esegue una chiamata a SendAsync con Azure.WaitUntil.Started, il metodo viene restituito dopo l'avvio dell'operazione. Il metodo restituisce l'oggetto EmailSendOperation. È possibile chiamare il metodo UpdateStatusAsync per aggiornare lo stato dell'operazione di invio di messaggi email.
L'oggetto EmailSendOperation restituito contiene un oggetto EmailSendStatus che include:
- Lo stato corrente dell'operazione di invio di messaggi email.
- Un oggetto di errore con i dettagli dell'errore se lo stato corrente è Operazione non riuscita.
/// Send the email message with WaitUntil.Started
EmailSendOperation emailSendOperation = await emailClient.SendAsync(
Azure.WaitUntil.Started,
sender,
recipient,
subject,
htmlContent);
/// Call UpdateStatus on the email send operation to poll for the status
/// manually.
try
{
while (true)
{
await emailSendOperation.UpdateStatusAsync();
if (emailSendOperation.HasCompleted)
{
break;
}
await Task.Delay(100);
}
if (emailSendOperation.HasValue)
{
Console.WriteLine($"Email queued for delivery. Status = {emailSendOperation.Value.Status}");
}
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Email send failed with Code = {ex.ErrorCode} and Message = {ex.Message}");
}
/// Get the OperationId so that it can be used for tracking the message for troubleshooting
string operationId = emailSendOperation.Id;
Console.WriteLine($"Email operation id = {operationId}");
Eseguire l'applicazione dalla directory dell'applicazione con il comando dotnet run
.
dotnet run
Codice di esempio
È possibile scaricare l'app di esempio da GitHub
Inizia con i Servizi di comunicazione di Azure utilizzando la libreria client JavaScript per la posta elettronica per inviare messaggi email.
Suggerimento
Iniziare a usare l'esperienza di invio di messaggi di posta elettronica con Servizi di comunicazione di Azure usando il codice di esempio Basic Email Sending and Advanced Email Sending (Invio di posta elettronica avanzata ) in GitHub.
Comprendere il modello a oggetti dell'email
Le classi e le interfacce seguenti gestiscono alcune funzionalità della libreria client di posta elettronica di Servizi di comunicazione di Azure per JavaScript.
Nome | Descrizione |
---|---|
Indirizzo email | Questa classe contiene un indirizzo di posta elettronica e un'opzione per un nome visualizzato. |
Allegato e-mail | Questa classe crea un allegato di posta elettronica accettando un ID univoco, una stringa del tipo MIME dell'allegato di posta elettronica, dati binari per il contenuto e un ID contenuto facoltativo da definire come allegato incorporato. |
EmailClient | Questa classe è necessaria per tutte le funzionalità della posta elettronica. È possibile crearne un'istanza con la stringa di connessione e usarla per inviare messaggi di posta elettronica. |
Opzioni del Client Email | Questa classe può essere aggiunta all'istanza di EmailClient per specificare una versione dell'API come destinazione. |
Contenuto dell'Email | Questa classe contiene l'oggetto e il corpo del messaggio di posta elettronica. È necessario specificare almeno uno dei contenuti in testo normale o formato Html. |
IntestazionePersonalizzataEmail | Questa classe consente di aggiungere un nome e una coppia di valori per personalizzare un'intestazione. L'importanza della posta elettronica può essere specificata anche tramite queste intestazioni usando il nome dell'intestazione x-priority o x-msmail-priority . |
Messaggio Email | Questa classe combina il mittente, il contenuto e i destinatari. Facoltativamente, è anche possibile aggiungere intestazioni, allegati e indirizzi di posta elettronica di risposta personalizzati. |
DestinatariEmail | Questa classe mantiene liste di oggetti di tipo EmailAddress per i destinatari del messaggio di posta elettronica, compresi gli elenchi facoltativi per i destinatari CC e CCN. |
RisultatoInvioEmail | Questa classe contiene i risultati dell'operazione di invio tramite posta elettronica. Include un ID operazione, lo stato dell'operazione e l'oggetto dell’errore (se applicabile). |
EmailSendStatus | Questa classe rappresenta il set di stati di un'operazione di invio di posta elettronica. |
EmailSendResult restituisce lo stato seguente nell'operazione di completamento dell’invio di posta elettronica.
Nome stato | Descrizione |
---|---|
èIniziato | Restituisce true se l'operazione di invio di posta elettronica è in corso ed è in corso l'elaborazione. |
èCompletato | Restituisce true se l'operazione di invio tramite posta elettronica è stata completata senza errori e il messaggio di posta elettronica è in fase di consegna. È possibile ottenere qualsiasi stato dettagliato relativo al recapito della posta elettronica oltre questa fase tramite Monitoraggio di Azure o Griglia di eventi di Azure. Informazioni su come sottoscrivere eventi di posta elettronica |
risultato | Proprietà che esiste se l'operazione di invio email si conclude. |
Errore | Proprietà presente se l'operazione di invio tramite posta elettronica non è riuscita e si è verificato un errore. Il messaggio di posta elettronica non è stato inviato. Il risultato contiene un oggetto errore con altri dettagli sul motivo dell'errore. |
Prerequisiti
- Node.js (~14).
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- Una risorsa dei Servizi di comunicazione di Azure per la posta elettronica creata e munita di un dominio configurato. Creare una risorsa di comunicazione tramite posta elettronica.
- Una risorsa di Servizi di comunicazione di Azure attiva connessa al dominio di posta elettronica e relativa stringa di connessione. Creare e gestire le risorse del servizio di comunicazione tramite posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Nota
È anche possibile inviare un messaggio di posta elettronica dal dominio verificato. Aggiungere domini verificati personalizzati al servizio di comunicazione tramite posta elettronica.
Controllo dei prerequisiti
- In un terminale o una finestra di comando eseguire
node --version
per verificare che Node.js sia installato. - Per visualizzare i domini verificati con la risorsa Servizi di comunicazione di posta elettronica, accedere al portale di Azure, individuare la risorsa Servizi di comunicazione di posta elettronica e aprire la scheda Provisioning domini nel riquadro di spostamento a sinistra.
Configurare l'ambiente dell'applicazione
Creare una nuova applicazione Node.js
Aprire prima di tutto il terminale o la finestra di comando. Creare quindi una nuova directory per l'app e passare a essa.
mkdir email-quickstart && cd email-quickstart
Eseguire npm init -y
per creare un package.json
file con le impostazioni predefinite.
npm init -y
Usare un editor di testo per creare un file denominato send-email.js
nella directory radice del progetto. Modificare la proprietà main
in package.json
a send-email.js
. Nella sezione seguente viene illustrato come aggiungere il codice sorgente per questo articolo al file appena creato.
Installare il pacchetto
Usare il comando npm install
per installare la libreria client di Posta elettronica di Servizi di comunicazione di Azure per JavaScript.
npm install @azure/communication-email --save
L'opzione --save
elenca la libreria come dipendenza nel package.json
file.
Creare il client di posta elettronica con l'autenticazione
Sono disponibili alcune opzioni diverse per l'autenticazione di un client di posta elettronica:
Importare EmailClient
dalla libreria client e istanziarlo con la propria stringa di connessione.
Usare il codice seguente per recuperare la stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING
tramite il pacchetto dotenv. Usare il comando npm install
per installare il pacchetto dotenv. Informazioni su come gestire la stringa di connessione della risorsa.
npm install dotenv
Aggiungere il codice seguente a send-email.js
:
const { EmailClient } = require("@azure/communication-email");
require("dotenv").config();
// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
const emailClient = new EmailClient(connectionString);
Per semplicità, questo articolo usa stringhe di connessione, ma negli ambienti di produzione è consigliabile usare le entità servizio.
Inviare un messaggio di posta elettronica di base
Invio di un messaggio di posta elettronica
Per inviare un messaggio di posta elettronica, chiamare la funzione beginSend
dal EmailClient
. Questo metodo restituisce un poller che controlla lo stato dell'operazione e recupera il risultato al termine dell'operazione.
async function main() {
const POLLER_WAIT_TIME = 10
try {
const message = {
senderAddress: "<[email protected]>",
content: {
subject: "Welcome to Azure Communication Services Email",
plainText: "This email message is sent from Azure Communication Services Email using the JavaScript SDK.",
},
recipients: {
to: [
{
address: "<[email protected]>",
displayName: "Customer Name",
},
],
},
};
const poller = await emailClient.beginSend(message);
if (!poller.getOperationState().isStarted) {
throw "Poller was not started."
}
let timeElapsed = 0;
while(!poller.isDone()) {
poller.poll();
console.log("Email send polling in progress");
await new Promise(resolve => setTimeout(resolve, POLLER_WAIT_TIME * 1000));
timeElapsed += 10;
if(timeElapsed > 18 * POLLER_WAIT_TIME) {
throw "Polling timed out.";
}
}
if(poller.getResult().status === KnownEmailSendStatus.Succeeded) {
console.log(`Successfully sent the email (operation id: ${poller.getResult().id})`);
}
else {
throw poller.getResult().error;
}
} catch (e) {
console.log(e);
}
}
main();
Effettuare queste sostituzioni nel codice:
- Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui inviare un messaggio. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Eseguire il codice
Usare il comando node per eseguire il codice aggiunto al send-email.js
file.
node ./send-email.js
Codice di esempio
È possibile scaricare l'app di esempio da GitHub Azure Samples Send Email for JavaScript (Inviare un messaggio di posta elettronica per JavaScript).
Per iniziare a usare i Servizi di comunicazione di Azure, utilizzare l'SDK di email Java dei Servizi di comunicazione per inviare messaggi di posta elettronica.
Suggerimento
Iniziare a usare l'esperienza di invio di messaggi di posta elettronica con Servizi di comunicazione di Azure usando il codice di esempio Invio di posta elettronica di base e Invio di posta elettronica avanzata su GitHub.
Comprendere il modello a oggetti dell'email
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità di Azure Communication Services Email SDK per Java.
Nome | Descrizione |
---|---|
Indirizzo email | Questa classe contiene un indirizzo di posta elettronica e un'opzione per un nome visualizzato. |
Allegato Email | Questa interfaccia crea un allegato di posta elettronica accettando un ID univoco, una stringa di tipo MIME dell'allegato di posta elettronica, una stringa di byte di contenuto e un ID contenuto facoltativo per definirlo come allegato inline. |
EmailClient | Questa classe è necessaria per tutte le funzionalità della posta elettronica. È possibile crearne un'istanza con la stringa di connessione e usarla per inviare messaggi di posta elettronica. |
Messaggio Email | Questa classe combina il mittente, il contenuto e i destinatari. Facoltativamente, è anche possibile aggiungere intestazioni, allegati e indirizzi di posta elettronica di risposta personalizzati. |
RisultatoInvioEmail | Questa classe contiene i risultati dell'operazione di invio tramite posta elettronica. Include un ID operazione, lo stato dell'operazione e l'oggetto dell’errore (se applicabile). |
EmailSendStatus | Questa classe rappresenta il set di stati di un'operazione di invio di posta elettronica. |
EmailSendResult restituisce lo stato seguente nell'operazione di completamento dell’invio di posta elettronica.
Nome stato | Descrizione |
---|---|
NON_INIZIATO | Al momento, non inviamo questo stato dal nostro servizio. |
IN_PROGRESS | L'operazione di invio di posta elettronica è attualmente in corso ed è in corso l'elaborazione. |
COMPLETATO_CON_SUCCESSO | L'operazione di invio tramite posta elettronica è stata completata senza errori e il messaggio di posta elettronica è in uscita per il recapito. È possibile ottenere qualsiasi stato dettagliato relativo al recapito della posta elettronica oltre questa fase tramite Monitoraggio di Azure o Griglia di eventi di Azure. Informazioni su come sottoscrivere eventi di posta elettronica |
FALLITO | L'operazione di invio della posta elettronica non è riuscita e si è verificato un errore. Il messaggio di posta elettronica non è stato inviato. Il risultato contiene un oggetto errore con altri dettagli sul motivo dell'errore. |
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- Java Development Kit (JDK) versione 8 o successiva.
- Apache Maven.
- Una risorsa di Servizi di comunicazione distribuita e una stringa di connessione. Per informazioni dettagliate, vedere Creare una risorsa di Servizi di comunicazione.
- Per iniziare a inviare messaggi di posta elettronica, creare una risorsa di Servizi di comunicazione di posta elettronica di Azure.
- Configurare un'identità gestita per un ambiente di sviluppo, vedere Autorizzare l'accesso con l'identità gestita.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Nota
È anche possibile inviare un messaggio di posta elettronica dal proprio dominio verificato Creare e gestire le risorse del servizio di comunicazione tramite posta elettronica.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire
mvn -v
per controllare che Maven sia installato. - Per visualizzare i domini verificati con la risorsa servizi di comunicazione tramite posta elettronica, accedere al portale di Azure. Trova la risorsa Servizi di comunicazione di posta elettronica e apri la scheda Provisioning dei domini nel pannello di navigazione sinistro.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire la procedura descritta nelle sezioni seguenti.
Creare una nuova applicazione Java
Aprire la finestra del terminale o di comando e passare alla directory in cui creare l'applicazione Java. Eseguire il comando seguente per generare il progetto Java dal modello maven-archetype-quickstart.
mvn archetype:generate -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.4" -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart"
L'obiettivo generate
crea una directory con lo stesso nome del valore artifactId
. In questa directory la directory src/main/java contiene il codice sorgente del progetto, la directory src/test/java contiene l'origine di test e il file pom.xml è il modello a oggetti del progetto .
Installare il pacchetto
Aprire il file pom.xml
nell'editor di testo. Aggiungere l'elemento di dipendenza seguente al gruppo di dipendenze.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
Configurare il framework dell'app
Aprire /src/main/java/com/communication/quickstart/App.java in un editor di testo, aggiungere direttive di importazione e rimuovere l'istruzione System.out.println("Hello world!");
:
package com.communication.quickstart;
import com.azure.communication.email.models.*;
import com.azure.communication.email.*;
import com.azure.core.util.polling.*;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Creare il client di posta elettronica con autenticazione
Sono disponibili alcune opzioni diverse per l'autenticazione di un client di posta elettronica.
Per autenticare un client, creare un'istanza di EmailClient
con la stringa di connessione. Informazioni su come gestire la stringa di connessione della risorsa. È inoltre possibile inizializzare il client con qualsiasi client HTTP personalizzato che implementi l'interfaccia com.azure.core.http.HttpClient
.
Per creare un'istanza di un client sincrono, aggiungere il codice seguente al metodo main
:
// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";
EmailClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildClient();
Per creare un'istanza di un client asincrono, aggiungere il codice seguente al metodo main
:
// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";
EmailAsyncClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Per semplicità, questo articolo usa stringhe di connessione, ma negli ambienti di produzione è consigliabile usare le entità servizio.
Inviare un messaggio di posta elettronica di base
È possibile comporre un messaggio di posta elettronica usando l'oggetto EmailMessage
nell'SDK.
EmailMessage message = new EmailMessage()
.setSenderAddress("<[email protected]>")
.setToRecipients("<[email protected]>")
.setSubject("Welcome to Azure Communication Services Email")
.setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.");
Effettuare queste sostituzioni nel codice:
- Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui inviare un messaggio. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Per inviare il messaggio di posta elettronica, chiamare la funzione beginSend
da EmailClient
.
La chiamata beginSend
sul client di sincronizzazione restituisce un SyncPoller
oggetto, che può essere usato per controllare lo stato dell'operazione e recuperare il risultato al termine dell'operazione. La richiesta iniziale di invio di un messaggio di posta elettronica viene avviata non appena viene chiamato il beginSend
metodo . L'invio di un messaggio di posta elettronica è un'operazione a esecuzione prolungata. È importante notare che il metodo getFinalResult()
nel poller è un'operazione che blocca il terminale fino a quando non raggiunge un determinato stato (SUCCESSFULLY_COMPLETED
o FAILED
). È consigliabile eseguire il polling manuale a un intervallo appropriato per le esigenze dell'applicazione, come illustrato nell'esempio seguente.
try
{
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null); // This will send out the initial request to send an email
PollResponse<EmailSendResult> pollResponse = null;
Duration timeElapsed = Duration.ofSeconds(0);
Duration POLLER_WAIT_TIME = Duration.ofSeconds(10);
// Polling is done manually to avoid blocking the application in case of an error
while (pollResponse == null
|| pollResponse.getStatus() == LongRunningOperationStatus.NOT_STARTED
|| pollResponse.getStatus() == LongRunningOperationStatus.IN_PROGRESS)
{
pollResponse = poller.poll();
// The operation ID can be retrieved as soon as .poll() is called on the poller
System.out.println("Email send poller status: " + pollResponse.getStatus() + ", operation id: " + pollResponse.getValue().getId());
Thread.sleep(POLLER_WAIT_TIME.toMillis());
timeElapsed = timeElapsed.plus(POLLER_WAIT_TIME);
if (timeElapsed.compareTo(POLLER_WAIT_TIME.multipliedBy(18)) >= 0)
{
throw new RuntimeException("Polling timed out.");
}
}
if (poller.getFinalResult().getStatus() == EmailSendStatus.SUCCEEDED)
{
System.out.printf("Successfully sent the email (operation id: %s)", poller.getFinalResult().getId());
}
else
{
throw new RuntimeException(poller.getFinalResult().getError().getMessage());
}
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
}
Eseguire il codice
Passare alla directory contenente il
pom.xml
file e compilare il progetto usando ilmvn
comando .mvn compile
Compilare il pacchetto.
mvn package
Eseguire il comando seguente
mvn
per avviare l'app.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Codice di esempio
È possibile scaricare l'app di esempio da GitHub Azure Samples Send Email for Java
Per iniziare a usare Servizi di comunicazione di Azure, usare l’SDK di Posta elettronica di Servizi di comunicazione per Python per inviare i messaggi di posta elettronica.
Suggerimento
Dà il via alla tua esperienza di invio email con i Servizi di comunicazione di Azure andando direttamente al codice di esempio per l'Invio di posta elettronica di base e l'Invio di posta elettronica avanzata su GitHub.
Comprendere il modello a oggetti della posta elettronica
Il modello di messaggio JSON e l’oggetto risposta illustrano alcune delle principali funzionalità dell’SDK di Posta elettronica di Servizi di comunicazione di Azure per Python.
message = {
"content": {
"subject": "str", # Subject of the email message. Required.
"html": "str", # Optional. Html version of the email message.
"plainText": "str" # Optional. Plain text version of the email
message.
},
"recipients": {
"to": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
],
"bcc": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
],
"cc": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
]
},
"senderAddress": "str", # Sender email address from a verified domain. Required.
"attachments": [
{
"contentInBase64": "str", # Base64 encoded contents of the attachment. Required.
"contentType": "str", # MIME type of the content being attached. Required.
"name": "str" # Name of the attachment. Required.
}
],
"userEngagementTrackingDisabled": bool, # Optional. Indicates whether user engagement tracking should be disabled for this request if the resource-level user engagement tracking setting was already enabled in the control plane.
"headers": {
"str": "str" # Optional. Custom email headers to be passed.
},
"replyTo": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
]
}
response = {
"id": "str", # The unique id of the operation. Uses a UUID. Required.
"status": "str", # Status of operation. Required. Known values are:
"NotStarted", "Running", "Succeeded", and "Failed".
"error": {
"additionalInfo": [
{
"info": {}, # Optional. The additional info.
"type": "str" # Optional. The additional info type.
}
],
"code": "str", # Optional. The error code.
"details": [
...
],
"message": "str", # Optional. The error message.
"target": "str" # Optional. The error target.
}
}
I valori response.status
sono illustrati più avanti nella tabella seguente.
Nome stato | Descrizione |
---|---|
In corso | L'operazione di invio di posta elettronica è attualmente in corso ed è in corso l'elaborazione. |
Operazione completata | L'operazione di invio tramite posta elettronica è stata completata senza errori e il messaggio di posta elettronica è in uscita per il recapito. È possibile ottenere qualsiasi stato dettagliato relativo al recapito della posta elettronica oltre questa fase tramite Monitoraggio di Azure o Griglia di eventi di Azure. Informazioni su come sottoscrivere eventi di posta elettronica |
Non riuscito | L'operazione di invio della posta elettronica non è riuscita e si è verificato un errore. Il messaggio di posta elettronica non è stato inviato. Il risultato contiene un oggetto errore con altri dettagli sul motivo dell'errore. |
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- Python 3.7+.
- Una risorsa dei Servizi di comunicazione di Azure per la posta elettronica creata e munita di un dominio configurato. Creare una risorsa di comunicazione tramite posta elettronica.
- Una risorsa di Servizi di comunicazione di Azure attiva connessa al dominio di posta elettronica e relativa stringa di connessione. Connettere un dominio di posta elettronica verificato per inviare un messaggio di posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Nota
È anche possibile inviare un messaggio di posta elettronica dal proprio dominio verificato. Aggiungere domini verificati personalizzati al servizio di comunicazione tramite posta elettronica.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire il comando
python --version
per verificare se Python è installato. - Per visualizzare i domini verificati con la risorsa servizi di comunicazione tramite posta elettronica, accedere al portale di Azure. Individuare la risorsa Servizi di comunicazione di posta elettronica e aprire la scheda Provisioning dei domini nel riquadro di spostamento sinistro.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire la procedura descritta nelle sezioni seguenti.
Creare una nuova applicazione Python
Aprire la finestra del terminale o di comando. Usare quindi il comando seguente per creare un ambiente virtuale e attivarlo. Questo comando crea una nuova directory per l'app.
python -m venv email-quickstart
Passare alla directory principale dell'ambiente virtuale e attivarla utilizzando i seguenti comandi.
cd email-quickstart .\Scripts\activate
Usare un editor di testo per creare un file denominato send-email.py nella directory radice del progetto e aggiungere la struttura per il programma, inclusa la gestione delle eccezioni di base.
import os from azure.communication.email import EmailClient try: # Quickstart code goes here. except Exception as ex: print('Exception:') print(ex)
Nelle sezioni seguenti si aggiunge tutto il codice sorgente per questo quickstart al file send-email.py creato.
Installare il pacchetto
Sempre all’interno della directory dell'applicazione, installare il pacchetto dell’SDK di Posta elettronica di Servizi di comunicazione di Azure per Python usando il comando seguente.
pip install azure-communication-email
Creare il client di posta elettronica con autenticazione
Sono disponibili alcune opzioni diverse per l'autenticazione di un client di posta elettronica:
Instanziare un EmailClient con la stringa di connessione. Informazioni su come gestire la stringa di connessione della risorsa.
# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)
Per semplicità, questo articolo usa stringhe di connessione, ma negli ambienti di produzione è consigliabile usare le entità servizio.
Inviare un messaggio di posta elettronica di base
Invio di un messaggio di posta elettronica
Per inviare un messaggio di posta elettronica, è necessario:
- Creare il messaggio con i valori seguenti:
-
senderAddress
: indirizzo di posta elettronica del mittente valido, disponibile nel campo MailFrom del riquadro di panoramica del dominio collegato alla risorsa di Servizi di comunicazione tramite posta elettronica. -
recipients
: oggetto con un elenco di destinatari di posta elettronica e, facoltativamente, elenchi di destinatari CC e CCN. -
content
: oggetto contenente l'oggetto e, facoltativamente, il testo non crittografato o il contenuto HTML di un messaggio di posta elettronica.
-
- Chiamare il
begin_send
metodo , che restituisce il risultato dell'operazione.
message = {
"content": {
"subject": "This is the subject",
"plainText": "This is the body",
"html": "<html><h1>This is the body</h1></html>"
},
"recipients": {
"to": [
{
"address": "<[email protected]>",
"displayName": "Customer Name"
}
]
},
"senderAddress": "<[email protected]>"
}
poller = email_client.begin_send(message)
print("Result: " + poller.result())
Effettuare queste sostituzioni nel codice:
- Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui inviare un messaggio. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Ottenere lo stato del recapito tramite posta elettronica
È possibile eseguire il polling dello stato del recapito tramite posta elettronica impostando un ciclo sull'oggetto stato dell'operazione restituito dal metodo begin_send
di EmailClient:
POLLER_WAIT_TIME = 10
try:
email_client = EmailClient.from_connection_string(connection_string)
poller = email_client.begin_send(message);
time_elapsed = 0
while not poller.done():
print("Email send poller status: " + poller.status())
poller.wait(POLLER_WAIT_TIME)
time_elapsed += POLLER_WAIT_TIME
if time_elapsed > 18 * POLLER_WAIT_TIME:
raise RuntimeError("Polling timed out.")
if poller.result()["status"] == "Succeeded":
print(f"Successfully sent the email (operation id: {poller.result()['id']})")
else:
raise RuntimeError(str(poller.result()["error"]))
except Exception as ex:
print(ex)
Eseguire il codice
Eseguire l'applicazione dalla directory dell'applicazione con il comando python
.
python send-email.py
Codice di esempio
È possibile scaricare l'app di esempio da GitHub Azure Samples Send email for Python (Inviare un messaggio di posta elettronica per Python)
Prerequisiti
Un account Azure con una sottoscrizione attiva o creare gratuitamente un account Azure.
Una risorsa di Servizi di comunicazione di Azure attiva o creare una risorsa di Servizi di comunicazione.
Una risorsa attiva di Logic App di Azure (app di logica) e un flusso di lavoro, oppure creare una nuova risorsa di app di logica e un nuovo flusso di lavoro con il trigger che desideri utilizzare. Attualmente, il connettore Posta elettronica di Servizi di comunicazione di Azure prevede solo azioni, quindi il flusso di lavoro dell'app per la logica richiede almeno un trigger. È possibile creare una risorsa Consumo o Standard per un'applicazione logica.
Risorsa posta elettronica di Servizi di comunicazione di Azure con un dominio configurato o un dominio personalizzato.
Una risorsa di Servizi di comunicazione di Azure connessa a un dominio di posta elettronica di Azure.
Inviare un messaggio e-mail
Per aggiungere un nuovo passaggio al flusso di lavoro tramite il connettore Posta elettronica di Servizi di comunicazione di Azure, seguire questa procedura:
Nella finestra di progettazione aprire il flusso di lavoro dell'app per la logica.
Consumo
Nel passaggio in cui si vuole aggiungere la nuova azione selezionare Nuovo passaggio. In alternativa, per aggiungere la nuova azione tra i passaggi, spostare il puntatore sulla freccia tra questi passaggi, selezionare il segno più (+) e selezionare Aggiungi un'azione.
Nella casella di ricerca Scegliere un'operazione selezionare Premium. Nella casella di ricerca immettere Posta elettronica di comunicazione di Azure.
Nell'elenco delle azioni selezionare Invia messaggio di posta elettronica.
Standard
Nel passaggio in cui si vuole aggiungere la nuova azione selezionare il segno più (+). In alternativa, per aggiungere la nuova azione tra i passaggi, spostare il puntatore sulla freccia tra questi passaggi, selezionare il segno più (+) e selezionare Aggiungi un'azione.
Nella casella di ricerca Aggiungi un'azione, selezionare Premium nell'elenco a discesa del runtime. Nella casella di ricerca immettere Posta elettronica di comunicazione di Azure.
Nell'elenco delle azioni selezionare Invia messaggio di posta elettronica.
Specificare un nome per la connessione.
Immettere la stringa di connessione per la risorsa di Servizi di comunicazione di Azure. Per trovare questa stringa, seguire questa procedura:
Nel portale di Azure aprire la risorsa servizio di comunicazione di Azure.
Nel menu della risorsa, in Impostazioni selezionare Chiavi e copiare la stringa di connessione.
Al termine, selezionare Crea.
Nel campo Da usare l'indirizzo di posta elettronica configurato nei prerequisiti. Immettere i valori per i campi A posta elettronica, Oggetto e Corpo , ad esempio:
Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.
Testare il flusso di lavoro
Avviare manualmente il flusso del lavoro, a seconda del fatto che si disponga o meno di un flusso di lavoro A consumo o Standard:
- Consumo: sulla barra degli strumenti della finestra di progettazione selezionare Esegui trigger>Esegui.
- Standard: nel menu del flusso di lavoro selezionare Panoramica. Sulla barra degli strumenti selezionare Avvia Trigger>Avvia.
Il flusso di lavoro crea un utente, rilascia un token di accesso per tale utente, quindi rimuove ed elimina l'utente. È possibile controllare gli output di queste azioni al termine dell’esecuzione del flusso di lavoro.
Viene generalmente inviato un messaggio di posta elettronica all'indirizzo specificato. È anche possibile usare l'azione Ottieni stato messaggio di posta elettronica per controllare lo stato dei messaggi di posta elettronica inviati tramite l'azione Invia messaggio di posta elettronica . Per ulteriori azioni, consultare la documentazione di riferimento sul connettore di posta elettronica dei Servizi di comunicazione di Azure.
Pulire le risorse del flusso di lavoro
Per pulire le risorse dell'app logica, il flusso di lavoro e le risorse correlate, consulta come pulire le risorse dell'app logica di tipo Consumption o come pulire le risorse dell'app logica Standard.
Introduzione a Servizi di comunicazione di Azure con il modulo di comunicazione di Azure PowerShell per inviare messaggi di posta elettronica.
Il completamento di questo articolo comporta l'addebito di alcuni centesimi (EUR) sull'account Azure.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare gratuitamente un account.
- Una risorsa dei Servizi di comunicazione di Azure per la posta elettronica creata e munita di un dominio configurato. Creare una risorsa di comunicazione tramite posta elettronica.
- Una risorsa di Servizi di comunicazione di Azure attiva connessa al dominio di posta elettronica e relativa stringa di connessione. Connettere un dominio di posta elettronica verificato per inviare un messaggio di posta elettronica.
- La versione più recente di Azure PowerShell.
Controllo dei prerequisiti
- In windows PowerShell eseguire il
Get-Module -ListAvailable -Name Az.Communication
comando per verificare se il modulo di comunicazione è installato. - Per visualizzare i domini verificati con la risorsa servizi di comunicazione tramite posta elettronica, accedere al portale di Azure. Individua la risorsa Servizi di comunicazione di posta elettronica e apri la scheda Provvisione domini nel pannello di navigazione a sinistra.
Configurazione
Installare il modulo di comunicazione
Installare il modulo Servizi di comunicazione di Azure per Azure PowerShell usando il Install-Module -Name Az.Communication
comando .
Install-Module -Name Az.Communication
Dopo aver installato il modulo di comunicazione, eseguire il Get-Command -Module Az.Communication
comando per ottenere tutti i moduli di comunicazione.
Get-Command -Module Az.Communication
Invio di un messaggio di posta elettronica
Mettere in coda un messaggio di posta elettronica da inviare a uno o più destinatari con solo i campi obbligatori.
$emailRecipientTo = @(
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
}
)
$message = @{
ContentSubject = "Test Email"
RecipientTo = @($emailRecipientTo) # Array of email address objects
SenderAddress = '<[email protected]>'
ContentPlainText = "This is the first email from ACS - Azure PowerShell"
}
Send-AzEmailServicedataEmail -Message $Message -endpoint "<yourEndpoint>"
Effettuare queste sostituzioni nel codice:
- Sostituisci
<yourEndpoint>
con il tuo endpoint. - Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui inviare un messaggio. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Accodare un messaggio di posta elettronica da inviare a uno o più destinatari includendo tutti i campi.
$emailRecipientTo = @(
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
},
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
}
)
$fileBytes1 = [System.IO.File]::ReadAllBytes("<file path>")
$fileBytes2 = [System.IO.File]::ReadAllBytes("<image file path>")
$emailAttachment = @(
@{
ContentInBase64 = $fileBytes1
ContentType = "<text/plain>"
Name = "<test.txt>"
},
@{
ContentInBase64 = $fileBytes2
ContentType = "<image/png>"
Name = "<inline-attachment.png>"
contentId = "<inline-attachment>"
}
)
$headers = @{
"Key1" = "Value1"
"Key2" = "Value2"
"Importance" = "high"
}
$emailRecipientBcc = @(
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
}
)
$emailRecipientCc = @(
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
}
)
$emailRecipientReplyTo = @(
@{
Address = "<[email protected]>"
DisplayName = "Email DisplayName"
}
)
$message = @{
ContentSubject = "Test Email"
RecipientTo = @($emailRecipientTo) # Array of email address objects
SenderAddress = '<[email protected]>'
Attachment = @($emailAttachment) # Array of attachments
ContentHtml = "<html><head><title>Enter title</title></head><body><img src='cid:inline-attachment' alt='Company Logo'/><h1>This is the first email from ACS - Azure PowerShell</h1></body></html>"
ContentPlainText = "This is the first email from ACS - Azure PowerShell"
Header = $headers # Importance = high/medium/low or X-Priority = 2/3/4
RecipientBcc = @($emailRecipientBcc) # Array of email address objects
RecipientCc = @($emailRecipientCc) # Array of email address objects
ReplyTo = @($emailRecipientReplyTo) # Array of email address objects
UserEngagementTrackingDisabled = $true
}
Send-AzEmailServicedataEmail -Message $Message -endpoint "<yourEndpoint>"
Effettuare queste sostituzioni nel codice:
- Sostituisci
<yourEndpoint>
con il tuo endpoint. - Sostituire
<[email protected]> and <[email protected]>
con gli indirizzi di posta elettronica a cui inviare un messaggio. - Sostituire
<file path> and <image file path>
con i percorsi di file effettivi degli allegati da inviare. - Sostituire
<text/plain> and <image/png>
con i tipi di contenuto appropriati per gli allegati. - Sostituire
<test.txt> and <inline-attachment.png>
con i nomi file degli allegati. - Sostituire
<inline-attachment>
con l'ID del contenuto per l'allegato inline. - Sostituire
<[email protected]>
con l'indirizzo e-mail a cui si vuole inviare il messaggio come Ccn. - Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui si vuole inviare il messaggio come CC. - Sostituire
<[email protected]>
con l'indirizzo di posta elettronica a cui si desidera inviare le risposte. - Sostituire
<[email protected]>
con l'indirizzo MailFrom del tuo dominio verificato.
Parametri facoltativi
I parametri facoltativi seguenti sono disponibili in Azure PowerShell.
ContentHtml
può essere usato per specificare il corpo HTML del messaggio di posta elettronica.ContentPlainText
utilizzato per specificare il corpo del testo normale del messaggio di posta elettronica.Attachment
imposta l'elenco degli allegati di posta elettronica. Questo parametro accetta una matrice di percorsi di file o oggetti allegati. Limitiamo le dimensioni totali di una richiesta di posta elettronica, inclusi gli allegati normali e inline, a 10 MB.Header
intestazioni di posta elettronica personalizzate da passare e imposta il livello di importanza del messaggio di posta elettronica (alta, normale o bassa).RecipientBcc
elenco di destinatari per il campo Ccn.RecipientCc
matrice di destinatari per il campo CC.ReplyTo
matrice di indirizzi di posta elettronica in cui vengono inviate le risposte dei destinatari.UserEngagementTrackingDisabled
indica se il rilevamento dell'engagement degli utenti deve essere disabilitato per questa richiesta se l'impostazione di rilevamento dell'engagement degli utenti a livello di risorsa è già stata abilitata nel piano di controllo.
È anche possibile usare un elenco di destinatari con RecipientCc
e RecipientBcc
simili a RecipientTo
. Deve essere presente almeno un destinatario in RecipientTo
o RecipientCc
o RecipientBcc
.
Risoluzione dei problemi
Recapito tramite posta elettronica
Per risolvere i problemi relativi al recapito tramite posta elettronica, è possibile ottenere lo stato del recapito tramite posta elettronica per acquisire i dettagli di recapito.
Importante
Il risultato positivo restituito dal polling sullo stato dell'operazione di invio convalida solo il fatto che l'email è stata inviata correttamente. Per ulteriori informazioni sullo stato del recapito lato destinatario, vedere come gestire gli eventi di posta elettronica.
Limitazione delle richieste della posta elettronica
Se l'applicazione si blocca, è possibile che il problema sia dovuto a una limitazione dell'invio di messaggi di posta elettronica. È possibile gestire i limiti dei livelli tramite la registrazione o implementando un criterio personalizzato.
Nota
Questa sandbox è progettata per aiutare gli sviluppatori a iniziare a compilare l'applicazione. È possibile richiedere di aumentare progressivamente il volume di invio appena l'applicazione passa allo stato operativo. Inviare una richiesta di supporto per aumentare il limite di invio se si ha la necessità di inviare un volume di messaggi che superano i limiti di frequenza.
Pulire le risorse di Servizi di comunicazione di Azure
Per pulire e rimuovere una sottoscrizione di Servizi di comunicazione, è possibile eliminare la risorsa o il gruppo di risorse. Se si elimina il gruppo di risorse vengono eliminate anche tutte le altre risorse associate. Altre informazioni sulla pulizia delle risorse.
Passaggi successivi
Questo articolo descrive come inviare messaggi di posta elettronica usando Servizi di comunicazione di Azure. È anche possibile:
- Informazioni sui concetti relativi alla posta elettronica.
- Acquisire familiarità con la libreria client di posta elettronica.
- Altre informazioni su come inviare un messaggio di chat da Power Automate usando Servizi di comunicazione di Azure.
- Scopri di più sui token di accesso in Creare e gestire gli utenti e i token di accesso di Servizi di Comunicazione di Azure.