Der er mange knuder.js-moduler til afsendelse af e-mails ved hjælp af Node.js som Nodemailer, emailjs, ekspres-mailer etc.
I denne artikel vil jeg vise dig, hvordan du sender e-mail, og hvordan du sender e-mail med vedhæftet fil med Nodemailer Node.js-modul. Lad os komme igang.
Krav:
For at følge denne artikel skal du have:
- Grundlæggende forståelse af node.js og JavaScript.
- js 6.x eller senere installeret på din computer.
- NPM installeret på din computer.
- En e-mail-konto som f.eks. GMail.
- En teksteditor til skrivning af node.js koder.
Du skal være i stand til at finde dedikerede artikler om hvert af disse emner på linuxhint.com. Sørg for at tjekke dem for mere information.
Oprettelse af projektmappe:
Det er altid bedst at oprette en ny mappe til hver node.js app du skriver. Fordi som standard Node.js-moduler er installeret i node_modules / mappe inde i din nuværende arbejdsmappe. På den måde er moduler adskilt for hver app, du skriver, og du kan bruge en anden version af det samme modul i en anden app. Dette er meget fleksibelt end at installere moduler globalt.
Opret en projektmappe (lad os kalde det node-mail) med følgende kommando:
$ mkdir node-mailNaviger nu til projektmappen med følgende kommando:
$ cd node-mail
Opret nu en pakke.json fil med følgende kommando:
$ npm init -ySom du kan se, en grundlæggende pakke.json fil oprettes.
Installation af Nodemailer:
I dette afsnit vil jeg vise dig, hvordan du installerer Nodemailer Node.js-modul ved hjælp af NPM.
Sørg først for, at Node.js er installeret og fungerer korrekt med følgende kommando:
$ node - versionSom du kan se, Node.js 10.11.0 er installeret og fungerer korrekt på min computer. Versionen på din computer kan være anderledes. Det er okay, men det skal være version 6.x eller senere. Ellers fungerer Nodemailer ikke.
Sørg nu for, at NPM er installeret og fungerer korrekt med følgende kommando:
$ npm --- versionSom du kan se, NPM 6.4.1 er installeret og fungerer korrekt på min computer. Versionen på din computer kan være anderledes. Det er okay.
Du har brug for internetforbindelse for at kunne installere Nodemailer ved hjælp af NPM. Så sørg for at du har forbindelse til internettet.
Installer nu Nodemailer Node.js-modul ved hjælp af NPM med følgende kommando:
$ npm install nodemailer --save
Nodemailer er installeret.
Afsendelse af e-mail med Nodemailer:
I dette afsnit vil jeg vise dig, hvordan du sender e-mail fra din gmail-konto med Nodemailer.
Opret først en ny fil (lad os kalde den Send mail.js) i dit projektkatalog med følgende kommando:
$ touch sendmail.jsIndtast nu følgende kodelinjer Send mail.js fil og gem den.
Her på linje 1 importerede jeg Nodemailer.
På linje 3 satte jeg min e-mail til min email variabel. Dette er den e-mail, hvorfra jeg sender en e-mail til andre e-mail-konti. Sørg for at ændre det til din e-mail-adresse.
På linje 5-11 oprettes et transportobjekt. Det er nødvendigt at sende en e-mail ved hjælp af Nodemailer. Formålet med transportobjektet er at kontrollere afsenderoplysningerne. Du behøver kun at gøre det en gang. Når afsenderoplysningerne er bekræftet, skal der oprettes et transportobjekt.
På linje 6 indstillede jeg service til gmail da jeg bruger en Gmail-konto til at sende e-mails. De understøttede tjenester er DynectEmail, Gmail, hot.ee, Hotmail, iCloud, mail.ee, Mail.Ru, Mailgun, Mailjet, Mandrill, Poststempel, QQ, QQex, SendGrid, SES, Yahoo, yandex, Zoho. Det service navnet er ikke bogstavfølsomt. Så du kan sætte det gmail eller GMAIL eller Gmail der. Det er det samme. Sørg for at indstille det korrekte servicenavn.
BEMÆRK: Du kan også bruge din egen e-mail-server. For at gøre det skal du oprette et brugerdefineret Nodemailer Transport-objekt. For at lære mere om det, besøg den officielle dokumentation for Nodemailer på https: // nodemailer.com / smtp /
På linje 9 satte jeg adgangskoden til min gmail konto, som jeg bruger til at sende e-mails fra. Sørg for at ændre det til dit.
På linje 14-19 oprettede jeg en besked objekt. I dette objekt, fra er indstillet til afsenderens e-mail-adresse, til er modtagerens e-mail-adresse. emne er genstand for e-mailen og tekst er indholdet af e-mailen.
På linje 22 brugte jeg transportere.Send mail() metode til at sende e-mail ved hjælp af Nodemailer. Det første argument fra Send mail() metoden er besked objekt defineret på linje 14-19. Det andet argument er en tilbagekaldsfunktion. Tilbagekaldsfunktionen kontrollerer simpelthen for fejl og udskriver en besked til konsollen afhængigt af, om e-mailen blev sendt eller ej.
Kør nu Send mail.js script som følger:
$ node sendmail.jsSom du kan se, blev e-mailen sendt.
Jeg tjekkede min Gmail og voila! Jeg modtog e-mailen fint.
Afsendelse af e-mail med vedhæftet fil ved hjælp af Nodemailer:
Nu hvor du ved, hvordan du sender e-mail ved hjælp af Nodemailer, er det meget at sende e-mail med vedhæftet fil!
For at sende e-mail med vedhæftet fil er alt, hvad du skal gøre, at ændre besked objekt på linje 14-19, og resten af koden skal være den samme.
Skift besked objekt som følger for at gemme filen.
Her, vedhæftede filer er en matrixobjekter. Hvert objekt definerer en vedhæftet fil. Så du kan sende flere filer på én gang. På linje 20-22 angiver jeg den relative sti til en fil Hej.txt til sti objektets ejendom.
Kør nu sendmail.js script igen.
$ node sendmail.jsSom du kan se, blev e-mailen sendt.
Som du kan se, modtog jeg beskeden sammen med den vedhæftede fil Hej.txt.
Du kan også indstille brugerdefinerede navn til din vedhæftede fil. Til det skal du ændre vedhæftningsobjektet som følger:
For at sende flere vedhæftede filer skal du oprette flere vedhæftede objekter som følger:
Sådan sender du e-mail med vedhæftet fil ved hjælp af Nodemailer i Node.js. Tak, fordi du læste denne artikel.