Nodemailer क्या है और इसकी ज़रूरत क्यों है?
Nodemailer Node.js के लिए एक मॉड्यूल है जो आपको अपने JavaScript एप्लिकेशन से ईमेल भेजने की सुविधा देता है। यह Node.js इकोसिस्टम में ईमेल के लिए सबसे लोकप्रिय और स्थिर लाइब्रेरीज़ में से एक है। यह विभिन्न ट्रांसपोर्ट (SMTP, Sendmail, Amazon SES और अन्य) के माध्यम से संदेश बनाने और भेजने के लिए एक सरल लेकिन शक्तिशाली API प्रदान करता है।
Nodemailer की ज़रूरत क्यों है?
- नोटिफिकेशन ऑटोमेशन: रजिस्ट्रेशन, पासवर्ड रीसेट, ऑर्डर कन्फर्मेशन और अन्य इवेंट्स पर ईमेल भेजना।
- बल्क ईमेल: न्यूज़लेटर और मार्केटिंग कैंपेन बनाना (स्पैम में जाने से बचने के लिए सावधानी बरतें)।
- फीडबैक फॉर्म: वेबसाइट पर कॉन्टैक्ट फॉर्म से संदेश भेजना।
- मॉनिटरिंग और लॉग: एप्लिकेशन में गंभीर एरर होने पर एडमिन को सूचित करना।
- लचीलापन: HTML टेम्पलेट, अटैचमेंट, इनलाइन इमेज और विभिन्न एन्कोडिंग का सपोर्ट।
Nodemailer ईमेल प्रोटोकॉल (SMTP, POP3, IMAP) की जटिलता को छुपाकर एक एकीकृत और समझने योग्य इंटरफ़ेस प्रदान करता है।
Nodemailer इंस्टॉलेशन
Nodemailer को npm (Node Package Manager) के माध्यम से इंस्टॉल किया जाता है। सुनिश्चित करें कि आपके पास Node.js (वर्शन 12 या उससे ऊपर) इंस्टॉल है।
अपने प्रोजेक्ट की रूट फ़ोल्डर में टर्मिनल खोलें और यह कमांड चलाएँ:
npm install nodemailer
इंस्टॉलेशन पूरा होने के बाद, आप अपने कोड में लाइब्रेरी को इम्पोर्ट कर सकते हैं:
const nodemailer = require('nodemailer');
ES-मॉड्यूल (package.json में "type": "module" के साथ) का उपयोग करने वाले प्रोजेक्ट्स के लिए, इम्पोर्ट का उपयोग करें:
import nodemailer from 'nodemailer';
त्वरित शुरुआत: पहला ईमेल भेजना
ईमेल भेजने का सबसे आसान तरीका SMTP सर्वर का उपयोग करना है। इस उदाहरण में हम Gmail सेवा का उपयोग करेंगे। महत्वपूर्ण: Gmail के साथ काम करने के लिए आपको "App Password" (ऐप पासवर्ड) बनाना होगा या OAuth2 का उपयोग करना होगा। Google की सुरक्षा सेटिंग्स के कारण सामान्य अकाउंट पासवर्ड काम नहीं करेगा।
const nodemailer = require('nodemailer');
// 1. ट्रांसपोर्ट बनाएं (भेजने का तरीका)
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com', // आपका ईमेल
pass: 'your-app-password' // ऐप पासवर्ड
}
});
// 2. ईमेल सेट करें
const mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Nodemailer से नमस्ते!',
text: 'यह Nodemailer के माध्यम से भेजा गया एक टेस्ट ईमेल है।'
};
// 3. ईमेल भेजें
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log('त्रुटि:', error);
}
console.log('ईमेल भेज दिया गया:', info.messageId);
console.log('देखने का URL:', nodemailer.getTestMessageUrl(info));
});
यह कोड Gmail के लिए एक ट्रांसपोर्ट बनाता है, एक सरल टेक्स्ट ईमेल तैयार करता है और उसे भेजता है। सफल होने पर आपको कंसोल में मैसेज ID दिखाई देगी।
Nodemailer के मुख्य मेथड और फंक्शन
आइए लाइब्रेरी द्वारा प्रदान किए गए प्रमुख मेथड्स को विस्तार से समझते हैं।
1. nodemailer.createTransport(options)
यह क्या करता है: ट्रांसपोर्ट ऑब्जेक्ट बनाता है - यह मुख्य कॉन्फ़िगरेशन है जो यह निर्धारित करता है कि ईमेल कैसे भेजा जाएगा (किस सर्वर के माध्यम से और किस क्रेडेंशियल के साथ)।
पैरामीटर:
options(Object): कॉन्फ़िगरेशन ऑब्जेक्ट। मुख्य प्रॉपर्टीज़:host(String): SMTP सर्वर का पता (जैसे, 'smtp.gmail.com')।port(Number): सर्वर का पोर्ट (आमतौर पर SSL के लिए 465, TLS के लिए 587)।
पुस्तकालय में भी
जावा में डेटा सत्यापन: लाइब्रेरी और टूल्स का अवलोकन
Eloquent ORM PHP: पूर्ण गाइड उदाहरण सहित
WebSocket लाइब्रेरी Java: Tyrus — वास्तविक समय के लिए JSR 356 का कार्यान्वयन
Prometheus मेट्रिक्स Go में: Golang में मेट्रिक्स बनाना और निर्यात करना