Come rendere l'e-mail una parte potente della tua applicazione Web

I miei strumenti di produttività popolare preferiti, iDoneThis e TeamSnippet, mi offrono un modo semplice per registrare e condividere le attività che ho completato ogni giorno con i miei compagni di squadra. Ogni giorno, i servizi mi inviano un'email chiedendomi cosa ho completato oggi. Dal mio account di posta elettronica, posso facilmente rispondere con le mie attività completate senza dover accedere al sito web. Sorprendentemente, la maggior parte dei miei compagni di squadra completa la maggior parte degli aggiornamenti del loro sito Web tramite e-mail di risposta. 

È anche possibile creare la stessa potente funzionalità con commenti, ricezione di contenuti tramite e-mail e abilitazione di risposte per creare, continuare e risolvere ticket di supporto. Con il Webhook Inbound Parse, dal servizio SMTP di SendGrid, puoi rendere interattive le tue applicazioni invitando le risposte e rispondendo agli utenti tramite la loro email. 

Il webhook SendGrid Parse consente di analizzare i contenuti e gli allegati di posta elettronica da qualsiasi e-mail in arrivo e di inviare i dati tramite JSON alla propria applicazione. La capacità ti consente di ottenere quanto segue, dalle risposte via email all'applicazione del tuo sito web:

  • Inserisci post di blog
  • Usa le risposte e-mail per aggiornare la tua mailing list o il tuo database
  • Carica foto e video
  • Avvia e risolvi richieste di ticket di supporto

Iniziare

Le seguenti istruzioni servono per ottenere localmente il Webhook Parse in entrata. Inizia clonando questo repository GitHub e cd nella sua directory:

$ git clone https://github.com/scottmotte/sendgrid-parse-api-example.git $ cd sendgrid-parse-api-example

Imposta le tue credenziali

$ mv .env.example .env 

Cambia il contenuto di .env nel tuo nome utente e password SendGrid

SENDGRID_USERNAME = your_sendgrid_username SENDGRID_PASSWORD = your_sendgrid_password 

Esegui l'applicazione

$ npm installa $ node app.js 

Se l'installazione di npm non funziona, puoi provare a installare tramite MacPorts: 

$ sudo port npm install

Se ricevi errori che suggeriscono che manchi un modulo, significa che dovresti installarlo. Ad esempio, ho ricevuto un errore app.js non è in grado di istanziare il dotenv variabile e dopo l'installazione dotenv, ha risolto del tutto la questione.

$ npm install dotenv

Imposta un tunnel

Usa un tunnel locale come ngrok per testare localmente e rapidamente, piuttosto che distribuire il codice su un server live. 

Ngrok consente di esporre in sicurezza un server Web locale al Web e acquisire il traffico per ispezioni e riproduzioni dettagliate. Scarica, decomprimi e avvia il processo ngrok. Dopo aver avviato il processo, ngrok ti fornirà un URL univoco da ispezionare localmente. 

Le seguenti istruzioni servono per far funzionare ngrok localmente su un Mac. Visita ngrok.com per installare una configurazione locale per altri sistemi operativi. 

$ wget https://dl.ngrok.com/darwin_amd64/ngrok.zip $ decomprimere ngrok.zip -d / usr / local / bin $ ngrok 3000

Imposta i record SendGrid e MX

Si noti che questo può richiedere fino a 48 ore. 

Una volta che i tuoi record MX si sono completamente propagati, puoi inviare e-mail in produzione fino a 48 ore. 

Innanzitutto, dopo aver eseguito il provisioning dell'account SendGrid, è possibile configurare l'impostazione di posta in entrata di analisi di SendGrid. Fai clic sulla scheda "Sviluppatori" per il link "Parsing Incoming Email". Nel campo Nome host, specifica il tuonome host (ad esempio tuodominio.com) che desideri. Nel campo URL, inserisci l'URL univoco che ti offre ngrok. 

Configura un record MX sul nome host che hai impostato sopra in modo che punti a mx.sendgrid.net. Dovrebbe assomigliare a quanto segue. 

Ora, tra due giorni, i tuoi record MX si propagheranno completamente. 

Invia una e-mail dal tuo account e-mail personale

Se si invia una e-mail a [email protected],in pochi minuti, l'app in esecuzione analizzerà e fornirà i contenuti in formato JSON.

Prova e gioca con l'API

Congratulazioni, hai impostato un modo semplice per analizzare le tue email in modo efficiente! Ora sei pronto per esplorare e effettuare chiamate all'API. 

Ispezione dei contenuti del payload

Se hai solo bisogno di un modo rapido per ispezionare il contenuto del payload del Parse Webhook, puoi usare RequestBin, uno strumento gratuito, dopo aver impostato i tuoi record MX.

Pubblicare dalla riga di comando

Se vuoi sporcarti le mani dalla riga di comando, puoi provare lo strumento di debugger webhook gratuito di SendGrid, che è un modo veloce per iniziare a vedere come appaiono gli eventi. 

Il cuore dello strumento è un URL che puoi impostare come endpoint Parse Webhook. Ogni volta che carichi l'URL, otterrai un ID univoco all'interno dell'URL. 

Di seguito sono riportati due esempi per iniziare con il tuo webhook. Il OTTENERE l'esempio inizierà ad ascoltare nuovi dati. Dal tuo terminale della riga di comando, incolla quanto segue OTTENERE esempio: 

$ curl -X GET \ http://hookdebug.sendgrid.com/v1/events/e6a20fffc9c1968dd64684f0b11b9c29 

Per incollare se il Parse Webhook sta ricevendo i dati, digita il arricciare comando dal INVIARE esempio in un secondo schermo del terminale:

$ curl -X POST \ -d "foo = bar" \ -d "alice = bob" \ http://hookdebug.sendgrid.com/v1/events/e6a20fffc9c1968dd64684f0b11b9c29

La risposta sulla tua finestra di terminale dovrebbe ora avere nuovi contenuti:

"Event_id": "e6a20fffc9c1968dd64684f0b11b9c29"

Successivamente, invia un'email al dominio o sottodominio che stai utilizzando per l'analisi in entrata. Entro pochi minuti, dovresti vedere l'email analizzata come JSON nella finestra del terminale. 

Personalizza il tuo parser

Come puoi vedere, i dettagli della separazione dei dati della posta elettronica e il routing di un messaggio in arrivo allo script SendGrid sono fatti dietro le quinte per te. Partendo da zero, puoi usare il Parse Webhook in molti modi creativi. Ora sei pronto per inserire alcuni dati email reali attraverso quel webhook! 

Per analizzare in modo personalizzato le tue e-mail, puoi iniziare a personalizzare il codice in routes / inbound.js.

Ad esempio, puoi riscrivere il file inbound.js per archiviare gli allegati in un modo che si adatti alla tua applicazione e al tuo database o persino a completare un'azione se il contenuto dell'email contiene una parola. 

Conclusione

Per casi d'uso, case study ed esempi, scaricare la Parse Webhook Guide o controllare la libreria API Parse Webhook. 

Osservando gli esempi di Parse Webhook, noterai che i due modi più comuni utilizzati sono: interagire con i tuoi utenti e raccogliere dati all'interno delle tue applicazioni via email.

Con il webhook, puoi sviluppare funzionalità che rendono le attività frequenti più produttive per i tuoi utenti senza dover lasciare la loro casella di posta elettronica. Raccogliere informazioni e rendere interattive le tue email non è mai stato così facile.