Denne artikkelen forklarer de forskjellige mulige måtene å sende e-poster ved å bruke Node.js.
Metoder for å sende en e-post ved hjelp av Node.js
Siden Node.js er et serveroperativt verktøy, kan det hjelpe med å sende e-poster ved hjelp av flere metoder:
Vurder metodene nedenfor for å sende en e-post ved hjelp av Node.js.
Metode 1: Send e-post ved hjelp av Node.js og SMTP-server
SMTP som er forkortelsen for Enkel e-postoverføringsprotokoll , er den vanligste teknologien som brukes til å sende e-post på tvers av flere nettverk.
Prosessen er lik nedenfor:
- Brukere må bruke en e-postklient (Gmail, Outlook, etc.) for å sende e-posten ved å bruke den utgående SMTP-serveren.
- E-post må behandles gjennom flere autentiseringstrinn, hvoretter filen hentes av SMTP-serveren og sendes til ønsket mottaker.
Serveren mellom avsender og mottaker følger SMTP-protokollene som bestemmer at informasjonen sendes til rett mottaker.
Fordelene ved å bruke SMTP-server
Den prioriterte fordelen som gjør SMTP-serveren til et optimalt valg, er dens enkle å sette opp miljø og enkle integrasjon med webapplikasjonen. For andre e-posttjenesteleverandører må brukere kanskje stole på tredjepartsintegrasjon og verktøy. Å bruke en SMTP-server gjør deg til sjefen, og du kan administrere alle aspekter av e-postsendingsprosedyren.
Ulemper ved å bruke SMTP-servere
Den største ulempen med å bruke SMTP-servere er det svake sikkerhetssystemet. Den er usikker og kan bli utsatt for hacking. De kan være ofre for DDoS-angrep, phishing og informasjonsbrudd. Hvis brukeren bruker sin egen SMTP-server betyr det at de har ansvaret for vedlikehold og sikkerhet, noe som krever mye innsats.
Prosess for å sende e-post ved hjelp av Nodemailer
Den mest populære e-postpakken som brukes til å sende e-post i Node.js er Nodemailer. Den kan brukes til å sende e-poster av flere formater som HTML eller ren tekst e-post, noen vedlegg sammen med e-posten, og bruke forskjellige transportmetoder. Node.js 6.0 eller høyere versjon er nødvendig for Nodemailer-konfigurasjon.
Trinn 1: Installer Nodemailer-modulen
Åpne terminalen til IDE-en din og skriv inn nodemailer-installasjonskommandoen:
npm installer nodemailerVed å kjøre denne kommandolinjen vil alle avhengigheter for nodemailer-modulen bli satt i package.json fil.
Package.json-filen vil vises som:
Bildet ovenfor viser versjonen som er installert og setter avhengighetene, og brukere kan bruke de ønskede modulene ved å importere de nødvendige.
Merk: I denne opplæringen bruker vi SMTP-serveren som transportmetode, slik at brukeren må definere verts-, port- og legitimasjonspassord som genereres for å få tilgang til SMTP-vertsserveren.
Trinn 2: Sette opp MailTrap som en SMTP-server
For vertsserveren kreves en SMTP-server. Brukere kan bruke MailTrap eller en lignende tjeneste for å distribuere en falsk SMTP-server for testformål. Å sette opp en falsk server kan bidra til å unngå å fylle den virkelige kontoen med flere tester for å se hvordan e-postknappene oppfører seg og hvordan de ser ut for mottakeren.
Opprett en konto på MailTrap og velg Nodemailer i rullegardinmenyen Integrations i dashbord-delen, og kopier deretter legitimasjonen.
Trinn 3: Opprett en Node.js-fil
Opprett en fil i arbeidskatalogen i tilfellet nedenfor email.js opprettes. Kopier deretter legitimasjonen i trinnet ovenfor og lim dem inn i den opprettede filen som:
konst nodemailer = krever ( 'nomailer' ) ;konst transportør = nodemailer. oppretteTransport ( {
vert : 'sandbox.smtp.mailtrap.io' ,
havn : 2525 ,
auth : {
bruker : '
sende : «
}
} ) ;
Funksjonen til koden ovenfor er:
- ' const nodemailer = require(“nodemailer”) ' importerer 'Nodemailer'-biblioteket som brukes til å sende e-poster.
- « oppretteTransport ”-metoden henter detaljene til den opprettede SMTP-serveren som skal brukes til å sende e-post.
- ' vert ” angir IP-adressen i tilfellet ovenfor som er Mailtrap-serveren som e-posten sendes til.
- ' havn ' spesifiserer portnummeret for ' Mailtrap 'server. Porten 2525 brukes for ikke-krypterte tilkoblinger.
- ' auth ” inneholder legitimasjonen hentet fra Mailtrap-konfigurasjonen.
- « transportør ”-objektet inneholder innstillingene hentet fra Mailtrap og kan nå sende ønsket post.
Trinn 4: Legg til koden for å sende e-post
Etter at all konfigurasjonen er fullført, kan brukeren legge til koden nedenfor for å lage en enkel e-postmelding i samme fil:
konst beskjed = {fra : 'SamMaxwell@email.com' ,
til : 'SerJohn@email.com' ,
Emne : 'SMTP-server e-posttesting' ,
tekst : 'E-posten sendes med Nodemailer og SMTP-server for testing'
} ;
transportør. sendMail ( melding, funksjon ( feil, info ) {
hvis ( feil ) {
konsoll. Logg ( feil ) ;
} ellers {
konsoll. Logg ( info ) ;
}
} ) ;
Operasjonene utført av koden ovenfor er:
- Innholdet i e-posten er satt sammen i ' beskjed variabel.
- « transportør ' objekt opprettet i forrige trinn brukes til å sende e-post ved hjelp av underfunksjonen ' sendMail ” med meldingen komponert ovenfor og en tilleggsfunksjon for å håndtere feilen hvis noen oppstår.
Nå som vi har implementert alle funksjonene, la oss teste det ved å sende e-posten på SMTP-serveren.
Trinn 5: Sende e-posten
Bare gå til terminalen på IDE og kjør filen ved å bruke kommandoen:
node-e-post. jsTerminalen vil vise de riktige detaljene for posten som er:
Trinn 6: Bekreft Mail In Mailtrap-dashbordet
Sjekk e-posten som vil dukke opp i Mailtrap-dashbordet og inneholder innholdet som ble matet inn i meldingsvariabelen:
Det er alt for å sende e-posten ved hjelp av Nodemailer-modulen i Node.js.
La oss nå se på veiledningen for å sende e-posten ved hjelp av en e-postapplikasjons-API i Node.js
Metode 2: Send e-post ved hjelp av API-en til en e-posttjeneste
Brukere kan også sende e-post ved å bruke en vertsbasert API for en e-posttjeneste. Dette sparer innsatsen med å administrere e-postserveren fra brukersiden. Brukeren må bare håndtere meldingsinnhold, sending og levering av e-posten. API-nøkkelen tilbyr mange funksjoner og er en pålitelig tjeneste for å sende e-post i bulk.
Fra ulike e-posttjenester kan brukere bruke API-en til den ønskelige e-posttjenesten. Noen av de populære e-posttjenestene er:
- Amazon SES
- Mailgun
- Mailchimp
- Poststempel
- Gnistpost
De fleste er betalt, men noen av dem tilbyr noen grunnleggende funksjoner til en lavere kostnad.
Fordelene ved å bruke Email Service API
Den viktigste fordelen med å bruke API-en til en e-posttjeneste er at den enkelt kan konfigureres med kodeskriptet. De er mer pålitelige enn å bruke en SMTP-server, da API-nøkkelen gir mer sikkerhet og sparer mye krefter og kostnader som ville blitt brukt til vedlikehold av en server.
Ulemper ved bruk av Email Service API
Den viktigste bekymringen ved bruk av en e-posttjeneste API er at brukeren må stole på en tredjepart for å sende e-posten. Også hvis brukeren ønsker å sende e-poster i bulk, vil det være kostnadseffektivt.
Hvis brukeren har laget en applikasjon som skal sende varsler i appen, må brukeren gjøre en ekstra innsats for å konfigurere varslingstjenesten. Til slutt, når du bruker en e-posttjeneste API, må brukeren avhenge av tilgjengeligheten til tjenesteleverandørens server.
Praktisk implementering av å sende e-post ved hjelp av API
Det er mange e-posttjenesteleverandører og APIer for å sende e-poster som Mailgun og SendGrid. Tjenesten som brukes for denne opplæringen er SendGrid som lar deg sende 100 e-poster i løpet av en måned gratis.
Etter å ha forstått hvilken tjeneste vi skal bruke, la oss begynne reisen.
Trinn 1: Registrer deg for SendGrid
Sett opp en ny konto på SendGrip ved å gå til følgende lenke:
For generering av API-nøkler, klikk på innstillingsalternativet i SendGrid-dashbordet. Der klikker du på API-nøklene.
Klikk deretter på Opprett API-nøkkel-knappen øverst til høyre.
Det vises en meny for å spørre om API-nøkkeltillatelser. Velg full tilgang og klikk på Opprett og vis for generering av API-nøkler.
Kopier API-nøkkelen som er generert.
Etter å ha angitt innstillingene for API, må vi nå implementere det i kodeskriptet.
Trinn 2: Installer SendGrid-modulen
Det er nødvendig å installere SendGrid-modulen for å bruke funksjonene i koden. Kjør følgende kommando i terminalen til din respektive IDE for å installere modulen:
npm installere -- lagre @sendgrid / postDenne kommandoen vil installere modulen og sette avhengighetene i filen package.json hvorfra du kan importere den til kodefilen som skal brukes.
La oss nå lage et kodeskript for å bruke funksjonaliteten til trinnene ovenfor.
Trinn 3: Lag en fil
Det neste trinnet er å lage en fil for å implementere funksjonaliteten i kodeskriptet. I tilfellet nedenfor, lag sendgrid.js-filen og legg til følgende kode i den:
konst sendgridobjekt = krever ( '@sendgrid/mail' ) ;konst API_KEY = '
sendgridobjekt. setApiKey ( API_KEY )
konst melding = {
til : 'Mottaker@eksempel.com' ,
fra : 'Sender@example.com' ,
Emne : 'Bruke SendGrid API for å sende e-post' ,
tekst : 'Å bruke et API fra en e-postleverandør gjør det mye enklere å sende e-poster ved å bruke kodeskriptet' ,
html : 'og enkelt å gjøre hvor som helst, selv med Node.js' ,
}
sendgridobjekt
. sende ( melding )
. deretter ( ( hhv ) => {
konsoll. Logg ( 'Epost sendt \n ' , hhv )
} )
. å fange ( ( feil ) => {
konsoll. feil ( feil )
} )
I kodeskriptet ovenfor:
- « sendgridobjekt ' konfigurerer innstillingen med API-nøkkelen og integrerer den med ' sendgrid ”-modul fra package.json-filen.
- ' melding ” inneholder innholdet i e-posten som brukeren ønsker å sende.
- « sendgridobjekt ' bruker en underfunksjon ' sende ' for å sende e-posten etterpå '. deretter ' utløses som vil skrive ut ' Epost sendt ” i terminalen og nødvendig informasjon om server, vert, porter osv.
Trinn 4: Legg til og bekreft avsenderens e-post
Brukeren må legge til og bekrefte en e-postadresse som e-postene skal sendes via. For dette formålet går du til Innstillinger og klikker på Avsenderautentisering. Klikk deretter på Bekreft en enkelt avsender:
Etter det vil et vindu åpnes der brukeren må fylle inn legitimasjonen.
Etter å ha oppgitt legitimasjonen, klikk på Opprett-knappen. En bekreftelses-e-post vil bli sendt til din oppgitte e-postadresse.
Etter å ha konfigurert innstillingene, la oss teste ved å sende en e-post.
Trinn 5: Send e-posten
Det siste trinnet er å erstatte avsender og mottaker e-post med de ønskede og kjøre følgende kommando i terminalen:
node sendgrid. jsDenne kommandoen vil utføre koden i filen og følgende vil vises i terminalen som indikerer at e-posten er sendt:
Puff... det var en hektisk oppgave å gjennomføre. Likevel er det ett siste trinn, og jeg garanterer deg at dette er det siste.
Sjekk innboksen til mottakeren.
Trinn 6: Bekreft fra mottakerenden
Til slutt, sjekk mottakerens postkasse for å se om e-posten er mottatt.
Det er alt for å sende en e-post ved å bruke API-en til en e-posttjeneste i Node.js.
Konklusjon
Det er flere måter å sende e-post ved å bruke Node.js, og de vanligste er å bruke en SMTP-server eller å bruke API-en til en e-postleverandør. Begge har noen fordeler og ulemper som er tydelig oppgitt slik at brukeren kan velge den som passer for å sende e-posten.