Nodemailer: JavaScript (Node.js) पर ईमेल भेजना
Nodemailer Node.js एप्लिकेशन से ईमेल भेजने के लिए सबसे लोकप्रिय मॉड्यूल है। यह विभिन्न मेल सेवाओं (SMTP, Gmail, Outlook, SendGrid और अन्य) के साथ काम करने के लिए एक सरल और लचीला API प्रदान करता है। लाइब्रेरी HTML टेम्पलेट, अटैचमेंट, स्ट्रीम और OAuth2 के माध्यम से सुरक्षित प्रमाणीकरण का समर्थन करती है।
Nodemailer की आवश्यकता क्यों है?
- लेन-देन संबंधी ईमेल भेजना (पंजीकरण पुष्टिकरण, पासवर्ड रीसेट)।
- सूचनाएं और मार्केटिंग अभियान भेजना।
- वेबसाइट पर संपर्क फ़ॉर्म के साथ एकीकरण।
- रिपोर्ट और लॉग की स्वचालित डिलीवरी।
स्थापना
npm के माध्यम से मॉड्यूल स्थापित करें:
npm install nodemailerमुख्य विशेषताएं
- ट्रांसपोर्ट — SMTP सर्वर कॉन्फ़िगरेशन या बिल्ट-इन ट्रांसपोर्ट (Gmail, Mailgun, SendGrid) का उपयोग।
- ईमेल फ़ॉर्मेटिंग — HTML, टेक्स्ट, अटैचमेंट (फ़ाइलें, चित्र, PDF) के लिए समर्थन।
- स्ट्रीम — मेमोरी में लोड किए बिना बड़ी फ़ाइलें भेजने की क्षमता।
- OAuth2 — Gmail और अन्य प्रदाताओं के लिए सुरक्षित प्रमाणीकरण।
- कनेक्शन पूल — बल्क मेलिंग के दौरान प्रदर्शन अनुकूलन।
JavaScript (Node.js) पर कोड उदाहरण
const nodemailer = require('nodemailer');
// ट्रांसपोर्ट कॉन्फ़िगरेशन (Gmail का उपयोग करके)
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-password' // या App Password का उपयोग करें
}
});
// ईमेल पैरामीटर
const mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Nodemailer की ओर से नमस्ते!',
html: '<h1>यह एक परीक्षण ईमेल है</h1><p>Node.js के माध्यम से भेजा गया।</p>',
attachments: [{
filename: 'document.pdf',
path: './files/document.pdf'
}]
};
// भेजना
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log('त्रुटि:', error);
}
console.log('ईमेल भेजा गया:', info.response);
});Nodemailer का उपयोग कब करें?
यह लाइब्रेरी Node.js पर किसी भी प्रोजेक्ट के लिए उपयुक्त है जहाँ ईमेल भेजने की आवश्यकता हो: छोटे ब्लॉग से लेकर कॉर्पोरेट सिस्टम तक। Nodemailer फ्रेमवर्क (Express, Koa) और क्लाउड सेवाओं के साथ आसानी से एकीकृत हो जाता है। यदि आपको अटैचमेंट, HTML लेआउट या OAuth2 के माध्यम से ईमेल भेजने की आवश्यकता है, तो यह सबसे अच्छा विकल्प है।
ध्यान दें: प्रोडक्शन के लिए, ब्लॉक होने से बचने के लिए विशेष सेवाओं (SendGrid, Amazon SES) या SMTP रिले का उपयोग करने की अनुशंसा की जाती है। Nodemailer सभी लोकप्रिय प्रदाताओं का समर्थन करता है।
```