NodeJS

Node.js Send e-mail med vedhæftet fil

Node.js Send e-mail med vedhæftet fil
Node.js er den JavaScript-motor på serversiden, der er elsket af webudviklere og systemadministratorer over hele verden. Node.js har et rigt sæt moduler, som du kan installere ved hjælp af Node Package Manager (NPM) og bruge til at udføre næsten enhver opgave.

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:

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-mail

Naviger nu til projektmappen med følgende kommando:

$ cd node-mail

Opret nu en pakke.json fil med følgende kommando:

$ npm init -y

Som 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 - version

Som 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 --- version

Som 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.js

Indtast 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.js

Som 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.js

Som 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.

Top Oculus App Lab-spil
Hvis du er Oculus-headset-ejer, skal du være opmærksom på sideloading. Sideladning er processen med at installere ikke-butiksindhold på dit headset. S...
Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...
5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...