Come inviare messaggi di posta elettronica usando SendGrid da Node.js

Questa guida illustra come eseguire attività di programmazione comuni con il servizio di posta elettronica SendGrid in Azure. Gli esempi sono scritti usando l'API Node.js. Gli scenari presentati includono creazione di messaggi di posta elettronica, invio di messaggi di posta elettronica, aggiunta di allegati, uso di filtri e aggiornamento delle proprietà. Per altre informazioni su SendGrid e sull'invio della posta elettronica, 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. Gli scenari di utilizzo comuni di SendGrid includono:

  • Invio automatico di ricevute ai clienti
  • Amministrazione di liste di distribuzione per l'invio mensile ai clienti di volantini elettronici e offerte speciali
  • Raccolta di metriche in tempo reale per elementi quali indirizzi di posta elettronica bloccati e velocità di risposta al cliente
  • Generazione di report per agevolare l'identificazione delle tendenze
  • Inoltro di richieste dei clienti
  • Notifiche di posta elettronica dall'applicazione

Per altre informazioni, vedere https://sendgrid.com.

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

Riferimento al modulo SendGrid per Node.js

Il modulo SendGrid per Node.js può essere installato con il programma di gestione dei pacchetti per Node.js (npm) usando il comando seguente:

npm install sendgrid

Dopo l'installazione, è possibile includere il modulo nell'applicazione usando il comando seguente:

var sendgrid = require('sendgrid')(sendgrid_username, sendgrid_password);

Il modulo SendGrid esporta le funzioni SendGrid ed Email. SendGrid è responsabile dell'invio di e-mail tramite API Web, mentre Email incapsula un'e-mail.

Procedura: Creare un messaggio di posta elettronica

Creare un messaggio di posta elettronica usando il modulo SendGrid è una procedura in due fasi. La prima consiste nel creare il messaggio usando la funzione Email, la seconda nell'inviarlo usando la funzione SendGrid. Di seguito è riportato un esempio di codice per la creazione di un nuovo messaggio mediante la funzione Email:

var email = new sendgrid.Email({
    to: 'john@contoso.com',
    from: 'anna@contoso.com',
    subject: 'test mail',
    text: 'This is a sample email message.'
});

È inoltre possibile specificare un messaggio HTML per i client che li supportano, configurando la proprietà html. ad esempio:

html: This is a sample <b>HTML<b> email message.

Impostando sia la proprietà text che la proprietà html è possibile implementare il fallback graduale a contenuto testuale per i client che non supportano i messaggi HTML.

Per ulteriori informazioni su tutte le proprietà supportate dalla funzione di posta elettronica, vedere sendgrid nodejs.

Procedura: Inviare un messaggio di posta elettronica

Dopo aver creato un messaggio di posta elettronica usando la funzione Email, è possibile inviarlo tramite SMTP o con l'API Web fornita da SendGrid.

API Web

sendgrid.send(email, function(err, json){
    if(err) { return console.error(err); }
    console.log(json);
});

Nota

Sebbene gli esempi precedenti illustrino il passaggio di un oggetto di posta elettronica e una funzione di richiamata, è inoltre possibile richiamare direttamente la funzione send specificando direttamente le proprietà dei messaggi di posta elettronica. Ad esempio:

sendgrid.send({
to: 'john@contoso.com',
from: 'anna@contoso.com',
subject: 'test mail',
text: 'This is a sample email message.'
});

Procedura: Aggiungere un allegato

Per aggiungere allegati a un messaggio, specificare i nomi e i percorsi dei file nella proprietà files. Nell'esempio seguente viene illustrato l'invio di un allegato:

sendgrid.send({
    to: 'john@contoso.com',
    from: 'anna@contoso.com',
    subject: 'test mail',
    text: 'This is a sample email message.',
    files: [
        {
            filename:     '',           // required only if file.content is used.
            contentType:  '',           // optional
            cid:          '',           // optional, used to specify cid for inline content
            path:         '',           //
            url:          '',           // == One of these three options is required
            content:      ('' | Buffer) //
        }
    ],
});

Nota

Quando si usa la proprietà files, il file deve essere accessibile tramite fs.readFile. Se il file da allegare è ospitato in Archiviazione di Azure, ad esempio in un contenitore BLOB, prima di poterlo inviare come allegato usando la proprietà files è necessario copiarlo nell'archiviazione locale o in un'unità Azure.

Procedura: Usare filtri per abilitare piè di pagina e monitoraggio

SendGrid fornisce funzionalità di posta elettronica aggiuntive attraverso l'uso di filtri. Si tratta di impostazioni che è possibile aggiungere a un messaggio di posta elettronica per abilitare funzionalità specifiche, ad esempio il monitoraggio del clic, Google Analytics, il monitoraggio delle sottoscrizioni e così via. Per un elenco completo dei filtri, vedere le impostazioni dei filtri.

È possibile applicare filtri a un messaggio usando la proprietà filters. Ogni filtro è specificato da un hash che contiene impostazioni specifiche del filtro. Negli esempi seguenti vengono illustrati i filtri per abilitare il piè di pagina e per il monitoraggio dei clic:

var email = new sendgrid.Email({
    to: 'john@contoso.com',
    from: 'anna@contoso.com',
    subject: 'test mail',
    text: 'This is a sample email message.'
});

email.setFilters({
    'footer': {
        'settings': {
            'enable': 1,
            'text/plain': 'This is a text footer.'
        }
    }
});

sendgrid.send(email);

Monitoraggio dei clic

var email = new sendgrid.Email({
    to: 'john@contoso.com',
    from: 'anna@contoso.com',
    subject: 'test mail',
    text: 'This is a sample email message.'
});

email.setFilters({
    'clicktrack': {
        'settings': {
            'enable': 1
        }
    }
});

sendgrid.send(email);

Procedura: Aggiornare le proprietà dei messaggi di posta elettronica

Alcune proprietà del messaggio di posta elettronica può essere sovrascritto usando impostare*proprietà * o aggiunti utilizzando aggiungere*proprietà *. Ad esempio, è possibile aggiungere altri destinatari usando

email.addTo('jeff@contoso.com');

oppure impostare un filtro utilizzando

email.addFilter('footer', 'enable', 1);
email.addFilter('footer', 'text/html', '<strong>boo</strong>');

Per ulteriori informazioni, vedere sendgrid nodejs.

Procedura: Usare servizi aggiuntivi forniti da SendGrid

SendGrid offre API basate sul Web che è possibile usare per sfruttare altre funzionalità di SendGrid dall'applicazione Azure. Per informazioni dettagliate, vedere la documentazione sull'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.