Come inviare messaggi di posta elettronica usando SendGrid con Azure

Panoramica

Questa guida illustra come eseguire attività di programmazione comuni con il servizio di posta elettronica SendGrid in Azure. Gli esempi sono scritti in C# e supportano .NET Standard 1.3. Gli scenari presentati includono la creazione e l'invio di messaggi di posta elettronica, l'aggiunta di allegati e l'abilitazione di diverse impostazioni di posta elettronica e rilevamento. Per altre informazioni su SendGrid e sull'invio di email vedere la sezione Passaggi successivi.

Informazioni sul servizio di posta elettronica SendGrid

SendGrid è un servizio di posta elettronica basato sul cloud che offre recapito affidabile di messaggi di posta elettronica transazionali, scalabilità e analisi in tempo reale, oltre ad API flessibili che agevolano l'integrazione personalizzata. I casi d'uso comuni di SendGrid includono:

  • Invio automatico di ricevute o conferme di acquisto ai clienti.
  • Amministrazione di liste di distribuzione per inviare mensilmente volantini e promozioni ai clienti.
  • Raccolta di metriche in tempo reale per elementi quali email bloccate ed engagement del cliente.
  • Inoltro di richieste dei clienti.
  • Elaborazione di messaggi di posta elettronica in arrivo.

Per altre informazioni visitare https://sendgrid.com o la libreria C# di SendGrid nel repository GitHub.

Creazione di un account SendGrid

I clienti di Azure possono sbloccare 25.000 messaggi di posta elettronica gratuiti ogni mese. Questi 25.000 messaggi gratuiti mensili offrono l'accesso a funzionalità avanzate di creazione di report e analisi e a tutte le API (Web, SMTP, Event, Parse e altre). Per informazioni sui servizi aggiuntivi offerti da SendGrid, vedere la pagina delle soluzioni di SendGrid.

Per iscriversi a un account SendGrid

  1. Accedere al portale di gestione di Azure.
  2. Fare clic su Nuovo dal menu a sinistra.

    command-bar-new

  3. Fare clic su Componenti aggiuntivi e quindi SendGrid Email Delivery (Recapito email di SendGrid).

    sendgrid-store

  4. Completare il modulo di iscrizione e selezionare Crea.

    creazione di SendGrid

  5. Immettere un nome per identificare il proprio servizio SendGrid nelle impostazioni di Azure. I nomi devono essere composti da un numero di caratteri compreso tra 1 e 100 e possono includere solo caratteri alfanumerici, trattini, punti e caratteri di sottolineatura. Il nome deve essere univoco nell'elenco di elementi di Azure Store sottoscritti.
  6. Immettere e confermare la password.
  7. Scegliere la propria sottoscrizione.
  8. Creare un nuovo gruppo di risorse o selezionarne uno esistente.
  9. Nella sezione Piano tariffario selezionare il piano di SendGrid a cui si desidera iscriversi.

    prezzi di SendGrid

  10. Se disponibile, immettere un codice di promozione.
  11. Inserire le informazioni di contatto.
  12. Riesaminare e accettare le Note legali.
  13. Dopo aver confermato l'acquisto verrà visualizzato un popup che indica che la distribuzione è riuscita e il proprio account verrà elencato nella sezione Tutte le risorse.

    all-resources

    Dopo avere completato l'acquisto e avere fatto clic sul pulsante Gestisci per avviare il processo di verifica dei messaggi di posta elettronica, SendGrid invierà un'email in cui si chiede di verificare l'account. Se non si riceve questa email o se si hanno problemi nella verifica dell'account, consultare le domande frequenti.

    manage

    È possibile inviare fino a 100 email al giorno fino a quando non si è verificato l'account.

    Per modificare il piano di sottoscrizione o visualizzare le impostazioni di contatto di SendGrid, fare clic sul nome del servizio SendGrid per aprire il dashboard del Marketplace di SendGrid.

    Impostazioni

    Per inviare un'email tramite SendGrid, è necessario specificare la chiave API.

Per trovare la chiave API per SendGrid

  1. Fare clic su Manage.

    manage

  2. Nel dashboard di SendGrid, selezionare Impostazioni e quindi Chiavi API nel menu a sinistra.

    chiavi API

  3. Fare clic sul menu a discesa Crea chiave API e selezionare General API Key (Chiave API generale).

    chiave API generale

  4. Indicare almeno il nome di questa chiave e garantire l'accesso completo a Mail Send (Invio email) e selezionare Salva.

    access

  5. L'API verrà visualizzata una sola volta a questo punto. Assicurarsi di salvarla in modo sicuro.

Per individuare le credenziali di SendGrid

  1. Fare clic sull'icona della chiave per trovare il nome utente.

    key

  2. La password è quella specificata al momento della configurazione. È possibile selezionare Cambia password o Reimposta password per apportare modifiche.

Per gestire le impostazioni di recapito della posta, fare clic sul pulsante Gestisci. Si verrà reindirizzati al dashboard di SendGrid.

![manage][manage]

For more information on sending email through SendGrid, visit the [Email API Overview][Email API Overview].

Fare riferimento alla libreria di classi .NET di SendGrid

Il pacchetto NuGet di SendGrid è il modo più semplice per recuperare l'API SendGrid e configurare l'applicazione con tutte le dipendenze. NuGet è un'estensione di Visual Studio inclusa in Microsoft Visual Studio 2015 e versioni successive che semplifica l'installazione e l'aggiornamento di librerie e strumenti.

Nota

Per installare NuGet se si esegue una versione di Visual Studio precedente rispetto a Visual Studio 2015, visitare il sito http://www.nuget.orge fare clic su Install NuGet .

Per installare il pacchetto NuGet di SendGrid, eseguire le operazioni seguenti:

  1. Fare clic su Nuovo progetto e selezionare un modello.

    Creare un nuovo progetto

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti e scegliere Gestisci pacchetti NuGet.

    pacchetto NuGet di SendGrid

  3. Cercare SendGrid e selezionare la voce SendGrid nell'elenco dei risultati.
  4. Selezionare la più recente versione stabile del pacchetto NuGet nell'elenco a discesa della versione per poter usare il modello a oggetti e le API indicati in questo articolo.

    Pacchetto SendGrid

  5. Fare clic su Installa per completare l'installazione, quindi chiudere questa finestra di dialogo.

La libreria della classe .NET di SendGrid è denominata SendGrid. Include gli spazi dei nomi seguenti:

  • SendGrid per la comunicazione con l'API di SendGrid.
  • SendGrid.Helpers.Mail per i metodi helper per creare facilmente oggetti SendGridMessage che specificano come inviare email.

Aggiungere le seguenti dichiarazioni dello spazio dei nomi del codice all'inizio del file C# in cui si desidera accedere al servizio di posta elettronica SendGrid a livello di codice:

using SendGrid;
using SendGrid.Helpers.Mail;

Procedura: Creare un messaggio di posta elettronica

Usare l'oggetto SendGridMessage per creare un messaggio di posta elettronica. Dopo aver creato l'oggetto, è possibile impostare proprietà e metodi, inclusi il mittente, il destinatario, l'oggetto e il corpo del messaggio di posta elettronica.

Nell'esempio seguente viene illustrato come creare un oggetto di posta elettronica completamente popolato:

var msg = new SendGridMessage();

msg.SetFrom(new EmailAddress("dx@example.com", "SendGrid DX Team"));

var recipients = new List<EmailAddress>
{
    new EmailAddress("jeff@example.com", "Jeff Smith"),
    new EmailAddress("anna@example.com", "Anna Lidman"),
    new EmailAddress("peter@example.com", "Peter Saddow")
};
msg.AddTos(recipients);

msg.SetSubject("Testing the SendGrid C# Library");

msg.AddContent(MimeType.Text, "Hello World plain text!");
msg.AddContent(MimeType.Html, "<p>Hello World!</p>");

Per altre informazioni su tutte le proprietà e i metodi supportati dal tipo SendGrid, vedere sendgrid-csharp in GitHub.

Procedura: Inviare un messaggio di posta elettronica

Dopo aver creato un'email, è possibile inviarla tramite l'API di SendGrid. In alternativa è possibile usare la libreria integrata di .NET.

Per inviare email, è necessario specificare la chiave API di SendGrid. Per informazioni dettagliate su come configurare le chiavi API, consultare la documentazione sulle chiavi API di SendGrid.

È possibile archiviare queste credenziali tramite il portale di Azure facendo clic su Impostazioni applicazione e aggiungendo le coppie chiave-valore nella sezione Impostazioni app.

Impostazioni app di Azure

Quindi, è possibile accedervi come indicato di seguito:

var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY");
var client = new SendGridClient(apiKey);

Gli esempi seguenti mostrano come inviare un messaggio con l'API Web.

using System;
using System.Threading.Tasks;
using SendGrid;
using SendGrid.Helpers.Mail;

namespace Example
{
    internal class Example
    {
        private static void Main()
        {
            Execute().Wait();
        }

        static async Task Execute()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY");
            var client = new SendGridClient(apiKey);
            var msg = new SendGridMessage()
            {
                From = new EmailAddress("test@example.com", "DX Team"),
                Subject = "Hello World from the SendGrid CSharp SDK!",
                PlainTextContent = "Hello, Email!",
                HtmlContent = "<strong>Hello, Email!</strong>"
            };
            msg.AddTo(new EmailAddress("test@example.com", "Test User"));
            var response = await client.SendEmailAsync(msg);
        }
    }
}

Procedura: Aggiungere un allegato

Per aggiungere allegati a un messaggio, chiamare il metodo AddAttachment e specificare almeno il nome del file e il contenuto con codifica Base64 da allegare. È possibile includere più allegati chiamando questo metodo una volta per ogni file che si desidera allegare o usando il metodo AddAttachments. Nell'esempio seguente viene illustrata l'aggiunta di un allegato a un messaggio:

var banner2 = new Attachment()
{
    Content = Convert.ToBase64String(raw_content),
    Type = "image/png",
    Filename = "banner2.png",
    Disposition = "inline",
    ContentId = "Banner 2"
};
msg.AddAttachment(banner2);

Procedura: Usare le impostazioni della posta elettronica per abilitare piè di pagina, rilevamento e analisi

SendGrid offre funzionalità email aggiuntive tramite l'uso di impostazioni della posta elettronica e di rilevamento. Si tratta di impostazioni che è possibile aggiungere a un' email per abilitare funzionalità specifiche come il rilevamento dei clic, Google Analytics, il rilevamento delle sottoscrizioni e così via. Per un elenco completo delle app, vedere la documentazione sulle impostazioni.

Per applicare le app alle email di SendGrid, usare i metodi implementati come parte della classe SendGridMessage. Negli esempi seguenti vengono illustrati i filtri per abilitare il piè di pagina e per il monitoraggio dei clic:

Negli esempi seguenti vengono illustrati i filtri per abilitare il piè di pagina e per il monitoraggio dei clic:

msg.SetFooterSetting(
                     true,
                     "Some Footer HTML",
                     "<strong>Some Footer Text</strong>");

Monitoraggio dei clic

msg.SetClickTracking(true);

Procedura: Usare servizi aggiuntivi forniti da SendGrid

SendGrid offre diverse API e webhook che si possono usare per sfruttare altre funzionalità dell'applicazione Azure. Per maggiori dettagli, vedere il riferimento all'API SendGrid.

Passaggi successivi

A questo punto, dopo aver appreso le nozioni di base del servizio di posta elettronica SendGrid, usare i collegamenti seguenti per altre informazioni.