Er zijn veel Knooppunten.js-modules voor het verzenden van e-mails met Node.js zoals Nodemailer, emailjs, expresposter enz.
In dit artikel laat ik je zien hoe je e-mail verzendt en ook hoe je e-mail met bijlage verzendt met Nodemailer Knooppunt.js-module. Laten we beginnen.
Vereisten:
Om dit artikel te volgen, moet u beschikken over:
- Basiskennis van Node.js en JavaScript.
- js 6.x of later geïnstalleerd op uw computer.
- NPM geïnstalleerd op uw computer.
- Een e-mailaccount zoals Gmail.
- Een teksteditor voor het schrijven van Node.js-codes.
Je zou speciale artikelen over elk van deze onderwerpen moeten kunnen vinden op linuxhint.com. Bekijk ze zeker voor meer informatie.
Projectmap maken:
Het is altijd het beste om voor elke Node een nieuwe map te maken.js-app die je schrijft. Omdat standaard Node.js-modules zijn geïnstalleerd in node_modules/ directory binnen uw huidige werkdirectory. Op die manier zijn modules gescheiden voor elke app die je schrijft en kun je verschillende versies van dezelfde module in verschillende apps gebruiken. Dit is veel flexibeler dan het wereldwijd installeren van modules modules.
Maak een projectdirectory (laten we het noemen) node-mail) met het volgende commando:
$ mkdir node-mailNavigeer nu naar de projectdirectory met het volgende commando:
$ cd node-mail
Maak nu een pakket.json bestand met het volgende commando:
$ npm init -yZoals je kunt zien, een basis pakket.json bestand is aangemaakt.
Nodemailer installeren:
In deze sectie ga ik je laten zien hoe te installeren Nodemailer Knooppunt.js-module met NPM.
Zorg er eerst voor dat Node.js is geïnstalleerd en werkt correct met de volgende opdracht:
$ knooppunt --versieZoals je kunt zien, Node.js 10.11.0 is geïnstalleerd en werkt correct op mijn computer. De versie op uw computer kan afwijken. Het is goed, maar het zou versie 6 moeten zijn.x of later. Anders werkt Nodemailer niet.
Zorg er nu voor dat NPM is geïnstalleerd en correct werkt met de volgende opdracht:
$ npm ---versieZoals u kunt zien, NPM 6.4.1 is geïnstalleerd en werkt correct op mijn computer. De versie op uw computer kan afwijken. Het is goed.
Je hebt een internetverbinding nodig om te kunnen installeren Nodemailer NPM gebruiken. Zorg er dus voor dat je verbonden bent met internet.
Nu installeren Nodemailer Knooppunt.js-module met NPM met de volgende opdracht:
$ npm nodemailer installeren --save
Nodemailer is geïnstalleerd.
E-mail versturen met Nodemailer:
In deze sectie laat ik u zien hoe u e-mail kunt verzenden vanaf uw gmail-account met Nodemailer.
Maak eerst een nieuw bestand (laten we het noemen) Verzend mail.js) in uw projectdirectory met het volgende commando:
$ tik op verzendmail.jsTyp nu de volgende regels code in Verzend mail.js bestand en sla het op.
Hier, op regel 1, heb ik Nodemailer geïmporteerd.
Op regel 3 heb ik mijn e-mail ingesteld op: mijn e-mail variabele. Dit is de e-mail van waaruit ik een e-mail naar andere e-mailaccounts zal sturen. Zorg ervoor dat je het verandert in je e-mailadres.
Op regel 5-11 wordt een transportobject aangemaakt. Het is verplicht om een e-mail te sturen met Nodemailer. Het doel van het transportobject is om de afzenderinformatie te verifiëren. Je hoeft het maar één keer te doen. Nadat de afzenderinformatie is geverifieerd, moet een transportobject worden gemaakt.
Op lijn 6 stel ik in onderhoud naar gmail aangezien ik een Gmail-account gebruik om e-mails te verzenden. De ondersteunde services zijn DynectEmail, Gmail, hot.ee, Hotmail, iCloud, e-mail.ee, Mail.Ru, Mailgun, Mailjet, Mandril, Poststempel, QQ, QQex, SendGrid, SES, Yahoo, yandex, Zoho. De onderhoud naam is niet hoofdlettergevoelig. Dus je kunt zetten gmail of GMAIL of Gmail Daar. Het is allemaal hetzelfde. Zorg ervoor dat u de juiste servicenaam instelt.
OPMERKING: U kunt ook uw eigen e-mailserver gebruiken. Om dat te doen, moet u een aangepast Nodemailer Transport-object maken. Ga voor meer informatie hierover naar de officiële documentatie van Nodemailer op https://nodemailer.com/smtp/
Op regel 9 heb ik het wachtwoord van mijn gmail account dat ik gebruik om e-mails te verzenden van. Zorg ervoor dat je het verandert in de jouwe.
Op regel 14-19 heb ik een bericht voorwerp. In dit object, van is ingesteld op het e-mailadres van de afzender, naar is het e-mailadres van de ontvanger. onderwerpen is het onderwerp van de e-mail en tekst is de inhoud van de e-mail.
Op lijn 22 gebruikte ik de vervoer-.Verzend mail() methode om e-mail te verzenden met Nodemailer. Het eerste argument van de Verzend mail() methode is de bericht object gedefinieerd op regel 14-19. Het tweede argument is een callback-functie. De callback-functie controleert eenvoudig op fouten en drukt een bericht af naar de console, afhankelijk van of de e-mail is verzonden of niet.
Voer nu de Verzend mail.js script als volgt:
$ node sendmail.jsZoals je kunt zien, is de e-mail verzonden.
Ik heb mijn Gmail gecontroleerd en voila! Ik heb de e-mail prima ontvangen.
E-mail met bijlage verzenden met Nodemailer:
Nu je weet hoe je e-mail moet verzenden met Nodemailer, is het verzenden van e-mail met bijlage een fluitje van een cent!
Om e-mail met bijlage te verzenden, hoeft u alleen maar de bericht object op regel 14-19 en de rest van de code moet hetzelfde zijn.
Verander de bericht object als volgt als sla het bestand op.
Hier, bijlagen is een array-objecten. Elk object definieert een bijlagebestand. U kunt dus meerdere bestanden tegelijk verzenden. Op regel 20-22 stel ik het relatieve pad naar een bestand in Hallo.tekst naar de pad eigenschap van het object.
Voer nu de sendmail uit.js-script opnieuw.
$ node sendmail.jsZoals je kunt zien, is de e-mail verzonden.
Zoals je kunt zien, heb ik het bericht samen met de bijlage ontvangen Hallo.tekst.
U kunt ook aangepaste naam naar uw bijlagebestand. Daarvoor moet u het bijlage-object als volgt wijzigen:
Als u meerdere bijlagen wilt verzenden, maakt u als volgt meerdere bijlageobjecten:
Zo verstuur je e-mail met bijlage met Nodemailer in Node.js. Bedankt voor het lezen van dit artikel.