Bekk-utvikler Marcus: - Visste du at det er superenkelt å sende eposter fra din node-applikasjon?

- Med kun 24 linjer kan du få sendt en epost, skriver Marcus Haaland.

Gmail + Nodemailer = Epostsending.
Gmail + Nodemailer = Epostsending. Vis mer

Visste du at det er superenkelt å sende eposter fra din node-applikasjon?

I NodeJS-applikasjoner trenger du bare biblioteket Nodemailer og en gmail, og du er i gang.

Nodemailer er både gratis og enkel

Nodemailer er gratis å bruke og koden er enkel. Med kun 24 linjer kan du få sendt en epost.

Du oppretter en transporter, hvor du definerer innlogging for eposten. Så bruker du transporter-funksjonen sendMail, hvor du sender med informasjon om mottaker og innhold. Tilbake får du informasjon ved feil og suksess.

Du trenger ikke mer enn 24 linjer kode for å kunne sende epost.
Du trenger ikke mer enn 24 linjer kode for å kunne sende epost. Vis mer

Opprett et node-prosjekt med npm init -y og putt koden over i en fil index.js.

Gmail er enklest å sette opp

Nodemailer støtter flere typer eposter, men gmail er det enkleste å sette opp. Jeg opprettet en ny gmail for sikkerhetsskyld, som kan gjøres HER.

Om du prøver å legge inn vanlig gmail-passord i transporter-auth-objektet, vil det ikke fungere. Vi trenger et såkalt “app-password”. Det får vi ved å gå inn på våre gmail-innstillinger.

Der går vi inn på sikkerhetsfanen og aktiverer først to-faktor-autentisering. Etter dette er gjort, kan vi opprette et app-passord. Det er dette vi bruker inn i vår applikasjon. I dropdown for å velge type app, velg “Annet” og gi et navn, for eksempel “nodemailer”.

I Gmails brukerinnstillinger kan vi aktivere totrinnsbekreftelse og opprette et app-passord.
I Gmails brukerinnstillinger kan vi aktivere totrinnsbekreftelse og opprette et app-passord. Vis mer

Siden app-passord vil gi tilgang til gmail-kontoen, anbefaler jeg deg å skjule dette fra innsjekket kode via miljøvariabler. Jeg brukte dotenv.

Etter du har lagt inn din epost og app-passord i koden (helst i miljøvariabler!), kan du nå kjøre node index.js og du får sendt en epost!

Du kan nå sende eposter fra din node-applikasjon.
Du kan nå sende eposter fra din node-applikasjon. Vis mer

Les mer:

Jeg hentet koden herfra: https://www.w3schools.com/nodejs/nodejs_email.asp

Du kan lese mer om nodemailer her: https://nodemailer.com/about/