Nodemailer: JavaScript (Node.js) पर ईमेल भेजना
Nodemailer Node.js पर एप्लिकेशन से ईमेल भेजने के लिए सबसे लोकप्रिय मॉड्यूल है। यह SMTP सर्वर के साथ काम करने के लिए एक सरल और लचीला API प्रदान करता है, साथ ही HTML टेम्पलेट, अटैचमेंट, स्ट्रीमिंग और कई ट्रांसपोर्ट (SMTP, Sendmail, Amazon SES और अन्य) को सपोर्ट करता है।
Nodemailer की आवश्यकता क्यों है?
वेब एप्लिकेशन में अक्सर ईमेल भेजने की आवश्यकता होती है: रजिस्ट्रेशन पुष्टिकरण, पासवर्ड रीसेट, सूचनाएं, न्यूज़लेटर। Nodemailer आपको बिना अतिरिक्त डिपेंडेंसी के, OAuth2, SSL/TLS और एन्कोडिंग के सपोर्ट के साथ ऐसा करने की अनुमति देता है। यह एसिंक्रोनस रूप से काम करता है और Event Loop को ब्लॉक नहीं करता है।
इंस्टॉलेशन
npm के माध्यम से मॉड्यूल इंस्टॉल करें:
npm install nodemailerGmail या Yandex.Mail के साथ काम करने के लिए अतिरिक्त कॉन्फ़िगरेशन (ऐप पासवर्ड या OAuth2) की आवश्यकता हो सकती है।
मुख्य विशेषताएं
- SMTP, Sendmail, AWS SES, Mailgun, SendGrid के माध्यम से भेजना
- HTML और टेक्स्ट ईमेल के लिए सपोर्ट
- अटैचमेंट (फ़ाइलें, इमेज, Buffer, Stream)
- OAuth2 प्रमाणीकरण (Gmail, Outlook)
- बल्क मेलिंग के लिए कनेक्शन पूल
- टेम्पलेटिंग (Handlebars, EJS इंटीग्रेशन)
JavaScript (Node.js) पर कोड उदाहरण
Gmail SMTP के माध्यम से ईमेल भेजने का एक सरल उदाहरण:
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-app-password'
}
});
const mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Node.js से नमस्ते',
html: '<h1>टेस्ट ईमेल</h1><p>Nodemailer के माध्यम से भेजा गया</p>'
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('त्रुटि:', error);
} else {
console.log('ईमेल भेजा गया:', info.response);
}
});कब उपयोग करें
Nodemailer किसी भी Node.js प्रोजेक्ट के लिए उपयुक्त है जहाँ ईमेल भेजने की आवश्यकता हो: सरल स्क्रिप्ट से लेकर कॉर्पोरेट एप्लिकेशन तक। यह स्थिर है, अच्छी तरह से डॉक्यूमेंटेड है और हजारों डेवलपर्स द्वारा समर्थित है। यदि आपको बल्क मेलिंग (न्यूज़लेटर) की आवश्यकता है - तो उनके API के माध्यम से विशेष सेवाओं (SendGrid, Mailchimp) का उपयोग करना बेहतर है, लेकिन transactional ईमेल के लिए Nodemailer एक आदर्श विकल्प है।