Hvordan lage e-post til en kraftig del av webapplikasjonen din

Mine favoritt populære produktivitetsverktøy, iDoneThis og TeamSnippets, gir meg en enkel måte å registrere og dele oppgavene jeg har fullført hver dag med lagkameratene mine. Hver dag sender tjenestene meg en e-post og spør meg om hva jeg fullførte i dag. Fra min e-postkonto kan jeg enkelt svare med mine gjennomførte oppgaver uten å måtte logge inn på nettsiden. Bemerkelsesverdig, fullfører flertallet av mine lagkamerater de fleste av deres nettsideoppdateringer via e-post svar. 

Du kan også opprette den samme kraftige funksjonaliteten ved å kommentere, motta innhold via e-post, og aktivere svar til å opprette, fortsette og løse supportbilletter. Med Inbound Parse Webhook, fra SendGrids SMTP-tjeneste, kan du gjøre programmene dine interaktive ved å invitere svar og svare på brukere via e-posten deres. 

SendGrid Parse Webhook lar deg analysere e-postinnhold og vedlegg fra innkommende e-post og sende dataene via JSON til din søknad. Evnen gir deg mulighet til å oppnå følgende, fra e-post svar på ditt nettsted søknad:

  • Post blogginnlegg
  • Bruk e-post svar til å oppdatere din epostliste eller database
  • Last opp bilder og videoer
  • Start og løse supportbillettforespørsler

Starter

Instruksjonene nedenfor er for å få Inbound Parse Webhook oppe og kjører lokalt. Start med å klone dette GitHub-arkivet og cd-en i katalogen:

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

Sett opp legitimasjonene dine

$ mv .env.example .env 

Endre innholdet til .env til ditt SendGrid brukernavn og passord

SENDGRID_USERNAME = your_sendgrid_username SENDGRID_PASSWORD = din_sendgrid_password 

Kjør programmet

$ npm installer $ node app.js 

Hvis npm-installasjonen ikke fungerer for deg, kan du prøve å installere via MacPorts: 

$ sudo port npm installere

Hvis du mottar feil som tyder på at du mangler en modul, betyr dette at du skal installere det. For eksempel fikk jeg en feil som app.js kan ikke instantiere dotenv variabel, og etter installasjon dotenv, det løste problemet helt og holdent.

$ npm installere dotenv

Oppsett en tunnel

Bruk en lokal tunnel som ngrok til å teste lokalt og raskt, i stedet for å distribuere kode til en live-server. 

Ngrok gir deg mulighet til å utsette en lokal webserver sikkert på nettet og fange trafikk for detaljert inspeksjon og replay. Last ned, pakke ut og start ngrok-prosessen. Etter at du har startet prosessen, vil ngrok gi deg en unik nettadresse som du kan inspisere lokalt på. 

Instruksjonene nedenfor er for å få ngrok til å jobbe lokalt på en Mac. Gå til ngrok.com for å installere et lokalt oppsett for andre operativsystemer. 

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

Konfigurer SendGrid og MX Records

Merk at dette kan ta opptil 48 timer. 

Når MX-postene dine er fullført, kan du sende e-post på produksjon i opptil 48 timer. 

Først etter at SendGrid-kontoen din er opprettet, kan du konfigurere SendGrid Parsing Incoming Emails-innstillingen. Klikk på "Utviklere" -fanen for koblingen "Parsing Incoming Emails". I feltet Vertsnavn oppgir duvertsnavn (dvs. yourdomain.com) som du ønsker. I URL-feltet, skriv inn den unike nettadressen som ngrok gir deg. 

Konfigurer en MX-post på vertsnavnet du angir ovenfor for å peke til mx.sendgrid.net. Det skal se ut som følgende. 

Nå, på to dager, vil MX-postene dine helt propagere. 

Send en e-post fra din personlige e-postkonto

Hvis du sender en e-post til [email protected],I løpet av få minutter vil appen du kjører, analysere og levere innholdet til deg i JSON-format.

Test og spill med API

Gratulerer, du har satt opp en enkel måte å analysere dine e-poster effektivt! Nå er du klar til å utforske og ringe til APIen. 

Inspeksjon av nyttelastinnhold

Hvis du bare trenger en rask måte å undersøke nyttelastinnholdet i Parse Webhook, kan du bruke RequestBin, et gratis verktøy, etter at du har konfigurert MX-postene dine.

Innlegg fra kommandolinjen

Hvis du vil få hendene dine skitne fra kommandolinjen, kan du prøve SendGrids gratis webhook debugger-verktøy, noe som er en rask måte å begynne å se hvordan hendelser vises. 

I hjertet av verktøyet er en nettadresse som du kan angi som ditt Parse Webhook-endepunkt. Hver gang du laster inn nettadressen, får du en unik ID i nettadressen. 

Nedenfor er to eksempler for å komme i gang med din webhook. De Eksempelet begynner å lytte etter nye data. Fra kommandolinjeterminalen, lim inn i følgende eksempel: 

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

For å lime inn om Parse Webhook mottar data, skriv inn curl kommando fra POST Eksempel på en annen terminal skjerm:

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

Svaret på terminalvinduet ditt skal nå ha nytt innhold:

"Event_id": "e6a20fffc9c1968dd64684f0b11b9c29"

Deretter send en e-post til domenet eller underdomenet du bruker til innkommende parsing. Innen noen få minutter, bør du se den analyserte e-posten som JSON i terminalvinduet. 

Tilpass Parseren din

Som du kan se, blir detaljene for e-post dataseparering og ruting av en innkommende melding til SendGrid-skriptet gjort bak kulissene for deg. Fra begynnelsen kan du bruke Parse Webhook på mange kreative måter. Du er nå klar til å plassere noen ekte e-postdata gjennom den webhooken! 

For å tilpasse parse dine e-postmeldinger, kan du begynne å tilpasse koden i ruter / inbound.js.

For eksempel kan du omskrive filen inbound.js for å lagre vedlegg på en måte som passer til din søknad og database eller til og med fullføre en handling hvis e-postinnholdet inneholder et ord. 

Konklusjon

For bruk tilfeller, case studies og eksempler, last ned Parse Webhook Guide eller sjekk ut Parse Webhook API biblioteket. 

Når du ser på Parse Webhook-eksemplene, vil du legge merke til at de to vanligste måtene det brukes til er: samhandling med brukerne og samling av data i dine applikasjoner via e-post.

Med webhook kan du utvikle funksjoner som gjør hyppige oppgaver mer produktive for brukerne dine uten at de forlater sin e-postboks. Å samle innblikk og gjøre e-postene dine interaktive har aldri vært enklere.