NodeJS

Node.js Send e-post med vedlegg

Node.js Send e-post med vedlegg
Node.js er JavaScript-motoren på serversiden som er elsket av webutviklere og systemadministratorer over hele verden. Node.js har et rikt sett med moduler som du kan installere ved hjelp av Node Package Manager (NPM) og bruke til å gjøre nesten alle oppgaver.

Det er mange Node.js-moduler for sending av e-post ved hjelp av Node.js som Nodemailer, emailjs, ekspresspost etc.

I denne artikkelen vil jeg vise deg hvordan du sender e-post og også hvordan du sender e-post med vedlegg med Nodemailer Node.js-modul. La oss komme i gang.

Krav:

For å følge denne artikkelen, bør du ha:

Du bør kunne finne dedikerte artikler om hvert av disse emnene på linuxhint.com. Husk å sjekke dem for mer informasjon.

Opprette prosjektkatalog:

Det er alltid best å opprette en ny katalog for hver node.js app du skriver. For som standard er Node.js-moduler er installert i node_modules / katalogen i din nåværende arbeidskatalog. På den måten er modulene separate for hver app du skriver, og du kan bruke forskjellige versjoner av samme modul i forskjellige apper. Dette er mye fleksibelt enn å installere moduler globalt.

Lag en prosjektkatalog (la oss kalle det nodepost) med følgende kommando:

$ mkdir nodepost

Gå nå til prosjektkatalogen med følgende kommando:

$ cd node-mail

Lag nå en pakke.json fil med følgende kommando:

$ npm init -y

Som du kan se, en grunnleggende pakke.json filen er opprettet.

Installere Nodemailer:

I denne delen skal jeg vise deg hvordan du installerer Nodemailer Node.js-modul ved hjelp av NPM.

Forsikre deg først om at Node.js er installert og fungerer riktig med følgende kommando:

$ node - versjon

Som du kan se, Node.js 10.11.0 er installert og fungerer riktig på datamaskinen min. Versjonen på datamaskinen din kan være annerledes. Det er ok, men det skal være versjon 6.x eller senere. Ellers fungerer ikke Nodemailer.

Forsikre deg om at NPM er installert og fungerer riktig med følgende kommando:

$ npm --- versjon

Som du kan se, NPM 6.4.1 er installert og fungerer riktig på datamaskinen min. Versjonen på datamaskinen din kan være annerledes. Det er greit.

Du trenger internettilkobling for å installere Nodemailer bruker NPM. Så sørg for at du er koblet til internett.

Nå, installer Nodemailer Node.js-modul ved hjelp av NPM med følgende kommando:

$ npm install nodemailer --save

Nodemailer er installert.

Sende e-post med Nodemailer:

I denne delen vil jeg vise deg hvordan du sender e-post fra gmail-kontoen din med Nodemailer.

Først oppretter du en ny fil (la oss kalle den sendmail.js) i prosjektkatalogen din med følgende kommando:

$ touch sendmail.js

Skriv nå inn følgende kodelinjer sendmail.js filen og lagre den.

Her, på linje 1, importerte jeg Nodemailer.

På linje 3 setter jeg e-posten min til min e-post variabel. Dette er e-postadressen jeg sender en e-post fra til andre e-postkontoer. Forsikre deg om at du endrer den til e-postadressen din.

På linje 5-11 opprettes et transportobjekt. Det kreves å sende en e-post ved hjelp av Nodemailer. Hensikten med transportobjektet er å verifisere avsenderinformasjonen. Du trenger bare å gjøre det en gang. Når avsenderinformasjonen er bekreftet, bør det opprettes et transportobjekt.

På linje 6 satte jeg meg service til gmail ettersom jeg bruker en Gmail-konto for å sende e-post. De støttede tjenestene er DynectEmail, Gmail, hot.ee, Hotmail, iCloud, mail.ee, Mail.Ru, Mailgun, Mailjet, Mandrill, Poststempel, QQ, QQex, SendGrid, SES, Yahoo, yandex, Zoho. De service navnet er ikke bokstavsfølsomt. Så du kan sette gmail eller GMAIL eller Gmail der. Det hele er det samme.  Forsikre deg om at du har angitt riktig tjenestenavn.

MERK: Du kan også bruke din egen e-postserver. For å gjøre det må du opprette et tilpasset Nodemailer Transport-objekt. For å lære mer om det, besøk den offisielle dokumentasjonen til Nodemailer på https: // nodemailer.com / smtp /

På linje 9 setter jeg passordet til mitt gmail konto jeg bruker for å sende e-post fra. Sørg for at du endrer den til din.

På linje 14-19 opprettet jeg en beskjed gjenstand. I dette objektet, fra er satt til avsenderens e-postadresse, til er mottakerens e-postadresse. Emne er gjenstand for e-post og tekst er innholdet i e-posten.

På linje 22 brukte jeg transportere.sendMail () metode for å sende e-post ved hjelp av Nodemailer. Det første argumentet til sendMail () metoden er beskjed objekt definert på linje 14-19. Det andre argumentet er en tilbakeringingsfunksjon. Tilbakeringingsfunksjonen sjekker ganske enkelt for feil og skriver ut en melding til konsollen, avhengig av om e-posten ble sendt eller ikke.

Kjør nå sendmail.js skript som følger:

$ node sendmail.js

Som du ser, ble e-posten sendt.

Jeg sjekket Gmail og voila! Jeg mottok e-posten helt fint.

Sende e-post med vedlegg ved hjelp av Nodemailer:

Nå som du vet hvordan du sender e-post ved hjelp av Nodemailer, er å sende e-post med vedlegg et stykke kake!

For å sende e-post med vedlegg, er alt du trenger å gjøre å endre beskjed objekt på linje 14-19, og resten av koden skal være den samme.

Endre beskjed objekt som følger for å lagre filen.

Her, vedlegg er en rekke objekter. Hvert objekt definerer en vedleggsfil. Så du kan sende flere filer samtidig. På linje 20-22 setter jeg den relative banen til en fil Hallo.tekst til sti objektets eiendom.

Kjør nå sendmail.js skript igjen.

$ node sendmail.js

Som du ser, ble e-posten sendt.

Som du ser, mottok jeg meldingen sammen med vedlegget Hallo.tekst.

Du kan også angi tilpasset Navn til vedleggsfilen din. For det må du endre vedleggsobjektet som følger:

For å sende flere vedlegg, opprett flere vedleggsobjekter som følger:

Slik sender du e-post med vedlegg ved hjelp av Nodemailer i Node.js. Takk for at du leser denne artikkelen.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...