Condividi tramite


Inviare un messaggio di posta elettronica usando Servizi di comunicazione di Azure

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

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:

  1. 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.

    Screenshot che mostra il pannello di navigazione sinistro per Prova Email.

  2. Selezionare uno dei domini verificati dall'elenco a discesa.

    Screenshot che mostra il dominio verificato nel menu a discesa.

  3. 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

    Screenshot che mostra come filtrare e selezionare uno dei domini di posta elettronica verificati da connettere.

  4. Fare clic su Invia.

    Screenshot che mostra che uno dei domini di posta elettronica verificati è ora connesso.

  5. Messaggio di posta elettronica inviato correttamente.

    Screenshot che mostra l'invio di messaggi di posta elettronica riusciti.

  6. È 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.

    • Selezionare la lingua desiderata

    • Fare clic su Inserisci connessione

    • Fare clic su Copia

      Screenshot che mostra il frammento di codice per l'invio di messaggi di posta elettronica.

  7. 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

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

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

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

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

  1. Passare alla directory contenente il pom.xml file e compilare il progetto usando il mvn comando .

    mvn compile
    
  2. Compilare il pacchetto.

    mvn package
    
  3. 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

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

  1. 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
    
  2. Passare alla directory principale dell'ambiente virtuale e attivarla utilizzando i seguenti comandi.

    cd email-quickstart
    .\Scripts\activate
    
  3. 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

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:

  1. Nella finestra di progettazione aprire il flusso di lavoro dell'app per la logica.

    Consumo

    1. 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.

    2. Nella casella di ricerca Scegliere un'operazione selezionare Premium. Nella casella di ricerca immettere Posta elettronica di comunicazione di Azure.

    3. Nell'elenco delle azioni selezionare Invia messaggio di posta elettronica.

      Screenshot che mostra l'azione Invia messaggio di posta elettronica del connettore di Servizi di comunicazione di Azure.

    Standard

    1. 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.

    2. 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.

    3. Nell'elenco delle azioni selezionare Invia messaggio di posta elettronica.

  2. Specificare un nome per la connessione.

  3. Immettere la stringa di connessione per la risorsa di Servizi di comunicazione di Azure. Per trovare questa stringa, seguire questa procedura:

    1. Nel portale di Azure aprire la risorsa servizio di comunicazione di Azure.

    2. Nel menu della risorsa, in Impostazioni selezionare Chiavi e copiare la stringa di connessione.

      Screenshot che mostra la stringa di connessione di Servizi di comunicazione di Azure.

  4. Al termine, selezionare Crea.

  5. 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:

    Screenshot che mostra l'azione di invio della posta elettronica del connettore email dei Servizi di comunicazione di Azure.

  6. 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

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: