TypeScript में ईमेल भेजना: nodemailer लाइब्रेरी
Nodemailer Node.js और TypeScript से ईमेल भेजने के लिए सबसे लोकप्रिय मॉड्यूल है। यह SMTP के साथ-साथ बिल्ट-इन ट्रांसपोर्ट सर्विसेज (SendGrid, Mailgun और अन्य) के माध्यम से ईमेल भेजने की अनुमति देता है। लाइब्रेरी पूरी तरह से TypeScript (टाइपिंग सहित) को सपोर्ट करती है और टेक्स्ट और HTML ईमेल, अटैचमेंट और एन्क्रिप्शन दोनों के साथ काम करती है।
nodemailer की आवश्यकता क्यों है?
- लेन-देन संबंधी ईमेल भेजना (पंजीकरण पुष्टिकरण, पासवर्ड रिकवरी)।
- सूचनाएं भेजना (उदाहरण के लिए, वेबसाइट पर ऑर्डर देने के बाद)।
- संपर्क फ़ॉर्म के साथ एकीकरण।
- रिपोर्ट का स्वचालन (दैनिक डेटा डंप)।
इंस्टॉलेशन
npm install nodemailernpm install @types/nodemailer --save-devमुख्य कार्यक्षमताएँ
- SMTP-ट्रांसपोर्ट — किसी भी SMTP सर्वर (Gmail, Yandex, Mail.ru) के माध्यम से कॉन्फ़िगरेशन।
- HTML और टेक्स्ट सपोर्ट — सादा टेक्स्ट और सुंदर HTML टेम्पलेट दोनों भेजे जा सकते हैं।
- अटैचमेंट — फ़ाइलें, इमेज, PDF।
- स्ट्रीमिंग ट्रांसफर — मेमोरी में लोड किए बिना बड़ी फ़ाइलें भेजना।
- टाइपिंग — TypeScript के लिए पूर्ण सपोर्ट (विकल्पों के लिए इंटरफेस)।
TypeScript में कोड का उदाहरण
import nodemailer from 'nodemailer';
interface MailOptions { from: string; to: string; subject: string; text?: string; html?: string;}
async function sendEmail(options: MailOptions): Promise<void> { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, auth: { user: 'your-email@gmail.com', pass: 'your-app-password' } });
const info = await transporter.sendMail(options); console.log('Email sent:', info.messageId);}
// उपयोगsendEmail({ from: 'noreply@example.com', to: 'user@example.com', subject: 'Hello from TypeScript', html: '<h1>Welcome!</h1><p>This is a test email.</p>'});nodemailer का उपयोग कब करें?
यह लाइब्रेरी Node.js/TypeScript पर सर्वर एप्लिकेशन के लिए आदर्श है, विशेष रूप से Express, Next.js या Nest.js के साथ। यदि आपको जटिल कॉन्फ़िगरेशन के बिना जल्दी से ईमेल भेजना सेट करना है, तो nodemailer सबसे अच्छा विकल्प है। यह माइक्रोसर्विसेज और बैकग्राउंड टास्क (उदाहरण के लिए, Bull या Agenda के साथ) के लिए भी उपयुक्त है।
महत्वपूर्ण नोट्स
- Gmail के लिए ऐप पासवर्ड का उपयोग करें (मुख्य पासवर्ड नहीं)।
- प्रोडक्शन के लिए एनवायरनमेंट वेरिएबल का उपयोग करें (उदाहरण के लिए,
process.env.SMTP_PASS)। - एरर हैंडलिंग के बारे में न भूलें:
try/catchअनिवार्य है।
Nodemailer TypeScript में ईमेल भेजने के लिए डी-फैक्टो मानक है। हल्का, विश्वसनीय और उत्कृष्ट दस्तावेज़ीकरण के साथ।