Nodemailer: TypeScript पर ईमेल भेजना
Nodemailer Node.js और TypeScript अनुप्रयोगों से ईमेल भेजने के लिए सबसे लोकप्रिय मॉड्यूल है। यह SMTP के माध्यम से ईमेल भेजने को आसानी से एकीकृत करने की अनुमति देता है, साथ ही HTML टेम्पलेट, अटैचमेंट, स्ट्रीम और कई ट्रांसपोर्ट (Gmail, Yandex, SendGrid आदि) का समर्थन करता है। यह लाइब्रेरी बिल्ट-इन टाइप्स के कारण TypeScript के साथ पूरी तरह से संगत है।
Nodemailer की आवश्यकता क्यों है?
आधुनिक वेब डेवलपमेंट में, ईमेल भेजना निम्नलिखित के लिए आवश्यक है:
- पंजीकरण की पुष्टि (सत्यापन)
- पासवर्ड रीसेट
- सूचनाएं और न्यूज़लेटर
- सिस्टम अलर्ट
Nodemailer किसी भी ईमेल सेवा के लिए एक एकीकृत API प्रदान करके इस प्रक्रिया को सरल बनाता है।
इंस्टॉलेशन
npm install nodemailernpm install -D @types/nodemailerTypeScript के लिए, टाइप्स वाला पैकेज इंस्टॉल करना अनिवार्य है।
मुख्य विशेषताएं
- SMTP ट्रांसपोर्ट — किसी भी SMTP सर्वर (Gmail, Mail.ru, Yandex, AWS SES) के माध्यम से भेजना।
- HTML और टेक्स्ट — plain text और HTML ईमेल दोनों का समर्थन।
- अटैचमेंट — फ़ाइलें, इमेज, Buffer, स्ट्रीम।
- टेम्पलेटिंग — handlebars, pug और अन्य के साथ एकीकरण।
- स्ट्रीम — मेमोरी में लोड किए बिना बड़ी फ़ाइलें भेजना।
- कनेक्शन पूल — बल्क मेलिंग में प्रदर्शन में सुधार।
TypeScript पर कोड उदाहरण
import nodemailer from 'nodemailer';
interface MailOptions { to: string; subject: string; text?: string; html?: string;}
async function sendEmail(options: MailOptions): Promise<void> { // ट्रांसपोर्ट बनाएं (Gmail के लिए उदाहरण) const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your-email@gmail.com', pass: 'your-app-password' } });
// ईमेल सेटिंग्स const mailData = { from: 'your-email@gmail.com', to: options.to, subject: options.subject, text: options.text || '', html: options.html || undefined };
// भेजना const info = await transporter.sendMail(mailData); console.log('ईमेल भेजा गया:', info.messageId);}
// उपयोगsendEmail({ to: 'user@example.com', subject: 'TypeScript से नमस्ते!', html: '<h1>स्वागत है</h1><p>यह एक परीक्षण ईमेल है।</p>'});Nodemailer का उपयोग कब करें
यह लाइब्रेरी निम्नलिखित के लिए उपयुक्त है:
- Node.js/TypeScript पर कोई भी प्रोजेक्ट जहाँ ईमेल भेजने की आवश्यकता हो।
- प्रोटोटाइप और MVP — Gmail के माध्यम से त्वरित सेटअप।
- प्रोडक्शन सिस्टम — ट्रांजेक्शनल सेवाओं (SendGrid, Mailgun) के उपयोग के साथ।
- माइक्रोसर्विसेज और serverless (Lambda, Cloud Functions)।
बल्क स्पैम मेलिंग के लिए Nodemailer का उपयोग करने की अनुशंसा नहीं की जाती है — इसके लिए विशेष ESP (Email Service Providers) मौजूद हैं।
निष्कर्ष
Nodemailer एक परिपक्व, स्थिर और अच्छी तरह से प्रलेखित लाइब्रेरी है। TypeScript टाइप्स के कारण, आपको ऑटो-कम्प्लीशन और कंपाइलेशन के समय एरर चेकिंग मिलती है। यह JavaScript/TypeScript इकोसिस्टम में ईमेल भेजने के लिए एक आदर्श विकल्प है।