NodeJS

Nod.js Skicka e-post med bilaga

Nod.js Skicka e-post med bilaga
Nod.js är JavaScript-motorn på serversidan som älskas av webbutvecklare och systemadministratörer över hela världen. Nod.js har en rik uppsättning moduler som du kan installera med hjälp av Node Package Manager (NPM) och använda för att göra nästan alla uppgifter.

Det finns många noder.js-moduler för att skicka e-postmeddelanden med Node.js som Nodemailer, emailjs, express-mailer etc.

I den här artikeln kommer jag att visa dig hur du skickar e-post och även hur du skickar e-post med bilaga med Nodemailer Nod.js-modulen. Låt oss börja.

Krav:

För att följa den här artikeln bör du ha:

Du bör kunna hitta dedikerade artiklar om var och en av dessa ämnen på linuxhint.com. Var noga med att kontrollera dem för mer information.

Skapa projektkatalog:

Det är alltid bäst att skapa en ny katalog för varje nod.js app du skriver. För som standard är Node.js-moduler är installerade i nodmoduler / katalog i din nuvarande arbetskatalog. På så sätt är modulerna separata för varje app du skriver och du kan använda olika versioner av samma modul i olika appar. Detta är mycket flexibelt än att installera moduler globalt.

Skapa en projektkatalog (låt oss kalla den nod-post) med följande kommando:

$ mkdir nod-post

Navigera nu till projektkatalogen med följande kommando:

$ cd nod-mail

Skapa nu en paket.json fil med följande kommando:

$ npm init -y

Som du kan se, en grundläggande paket.json filen skapas.

Installera Nodemailer:

I det här avsnittet ska jag visa dig hur du installerar Nodemailer Nod.js-modul med NPM.

Kontrollera först att Node.js är installerat och fungerar korrekt med följande kommando:

$ node --version

Som du kan se, Node.js 10.11.0 är installerat och fungerar korrekt i min dator. Versionen på din dator kan vara annorlunda. Det är okej men det borde vara version 6.x eller senare. Annars fungerar inte Nodemailer.

Se nu till att NPM är installerat och fungerar korrekt med följande kommando:

$ npm --- version

Som du kan se, NPM 6.4.1 är installerad och fungerar korrekt i min dator. Versionen på din dator kan vara annorlunda. Det är okej.

Du behöver internetanslutning för att kunna installera Nodemailer använder NPM. Så se till att du är ansluten till internet.

Installera nu Nodemailer Nod.js-modul med NPM med följande kommando:

$ npm installera nodemailer - spara

Nodemailer är installerat.

Skicka e-post med Nodemailer:

I det här avsnittet visar jag dig hur du skickar e-post från ditt Gmail-konto med Nodemailer.

Skapa först en ny fil (låt oss kalla den skicka brev.js) i din projektkatalog med följande kommando:

$ touch sendmail.js

Skriv nu in följande kodrader skicka brev.js filen och spara den.

Här på rad 1 importerade jag Nodemailer.

På rad 3 ställde jag in min e-postadress min e-post variabel. Det här är e-postmeddelandet från vilket jag skickar ett e-postmeddelande till andra e-postkonton. Se till att du ändrar den till din e-postadress.

På rad 5-11 skapas ett transportobjekt. Du måste skicka ett e-postmeddelande med Nodemailer. Syftet med transportobjektet är att verifiera avsändarinformationen. Du behöver bara göra det en gång. När avsändarinformationen har verifierats ska ett transportobjekt skapas.

På rad 6 ställde jag in service till gmail eftersom jag använder ett Gmail-konto för att skicka e-post. De tjänster som stöds är DynectEmail, Gmail, hot.ee, Hotmail, iCloud, mail.ee, Mail.Ru, Mailgun, Mailjet, Mandrill, Poststempel, QQ, QQex, SendGrid, SES, Yahoo, yandex, Zoho. De service namnet är skiftlägeskänsligt. Så du kan sätta gmail eller GMAIL eller Gmail där. Allt är samma.  Se till att du ställer in rätt servicenamn.

NOTERA: Du kan också använda din egen e-postserver. För att göra det måste du skapa ett anpassat Nodemailer Transport-objekt. För att lära dig mer om det, besök den officiella dokumentationen för Nodemailer på https: // nodemailer.com / smtp /

På rad 9 sätter jag lösenordet till mitt gmail konto som jag använder för att skicka e-post från. Se till att du byter den till din.

På rad 14-19 skapade jag en meddelande objekt. I detta objekt, från är inställd på avsändarens e-postadress, till är mottagarens e-postadress. ämne är föremålet för e-postmeddelandet och text är innehållet i e-postmeddelandet.

På rad 22 använde jag transport.skicka brev() metod för att skicka e-post med Nodemailer. Det första argumentet för skicka brev() metoden är meddelande objekt definierat på rad 14-19. Det andra argumentet är en återuppringningsfunktion. Återuppringningsfunktionen söker helt enkelt efter fel och skriver ut ett meddelande till konsolen beroende på om e-postmeddelandet har skickats eller inte.

Kör nu skicka brev.js skript enligt följande:

$ node sendmail.js

Som du ser skickades e-postmeddelandet.

Jag kollade min Gmail och voila! Jag fick e-postmeddelandet bara bra.

Skicka e-post med bilaga med Nodemailer:

Nu när du vet hur du skickar e-post med hjälp av Nodemailer, är det enkelt att skicka e-post med bilaga!

För att skicka e-post med bilaga är allt du behöver göra att ändra meddelande objekt på rad 14-19 och resten av koden ska vara densamma.

Ändra meddelande objekt enligt följande som spara filen.

Här, bilagor är ett arrayobjekt. Varje objekt definierar en bifogad fil. Så du kan skicka flera filer samtidigt. På rad 20-22 ställer jag in den relativa sökvägen till en fil Hej.Text till väg objektets egendom.

Kör nu sendmail.js-skript igen.

$ node sendmail.js

Som du ser skickades e-postmeddelandet.

Som du ser fick jag meddelandet tillsammans med bilagan Hej.Text.

Du kan också ställa in anpassade namn till din bifogade fil. För det måste du ändra bifogat objekt på följande sätt:

Om du vill skicka flera bilagor skapar du flera bilagobjekt enligt följande:

Så skickar du e-post med bilaga med Nodemailer i Node.js. Tack för att du läste den här artikeln.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...