जावास्क्रिप्ट (Node.js) पर ईमेल भेजना: पूर्ण गाइड
इलेक्ट्रॉनिक मेल भेजना किसी भी आधुनिक वेब एप्लिकेशन के प्रमुख कार्यों में से एक है। चाहे वह सूचनाएँ हों, पंजीकरण की पुष्टि, न्यूज़लेटर या पासवर्ड रीसेट — प्रोग्रामेटिक रूप से ईमेल भेजने की क्षमता हर डेवलपर के लिए आवश्यक है। इस सामग्री में, हम विस्तार से देखेंगे कि लोकप्रिय लाइब्रेरीज़, SMTP सेटिंग्स और सर्वोत्तम प्रथाओं का उपयोग करके जावास्क्रिप्ट (Node.js) पर ईमेल भेजना कैसे व्यवस्थित करें।
Node.js से ईमेल क्यों भेजें?
Node.js एक एसिंक्रोनस जावास्क्रिप्ट रनटाइम वातावरण है जो बड़ी संख्या में अनुरोधों को संसाधित करने के लिए उपयुक्त है। Node.js के माध्यम से पत्र भेजने से आप यह कर सकते हैं:
- उपयोगकर्ता सूचनाओं को स्वचालित करना;
- ईमेल न्यूज़लेटर को बैकएंड के साथ एकीकृत करना;
- रीयल-टाइम में भेजने की त्रुटियों को संभालना;
- पूरे प्रोजेक्ट के लिए एक भाषा (JavaScript) का उपयोग करना।
Node.js में ईमेल भेजने के लिए मुख्य लाइब्रेरीज़
आजकल कई सिद्ध लाइब्रेरीज़ मौजूद हैं। आइए सबसे लोकप्रिय पर नज़र डालें:
1. Nodemailer
Nodemailer Node.js में ईमेल भेजने का डी-फैक्टो मानक है। यह लाइब्रेरी SMTP, बिल्ट-इन टेम्पलेट्स, अटैचमेंट, HTML ईमेल और OAuth2 का समर्थन करती है। यह मुफ़्त है और इसके लिए बाहरी सेवाओं की आवश्यकता नहीं है।
// इंस्टॉलेशन: npm install nodemailerconst nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({ host: 'smtp.example.com', port: 587, secure: false, // 465 पोर्ट के लिए true auth: { user: 'user@example.com', pass: 'your-password' }});
async function sendMail() { const info = await transporter.sendMail({ from: '"प्रेषक" <from@example.com>', to: 'to@example.com', subject: 'Node.js से नमस्ते', text: 'यह एक परीक्षण पत्र है।', html: '<b>यह एक परीक्षण पत्र है।</b>' }); console.log('पत्र भेजा गया:', info.messageId);}sendMail().catch(console.error);2. SendGrid (@sendgrid/mail के माध्यम से)
SendGrid Twilio का एक क्लाउड-आधारित ईमेल सेवा है। @sendgrid/mail लाइब्रेरी SendGrid API के माध्यम से आसानी से पत्र भेजने की अनुमति देती है। यह बड़े पैमाने के प्रोजेक्ट्स के लिए उपयुक्त है।
// इंस्टॉलेशन: npm install @sendgrid/mailconst sgMail = require('@sendgrid/mail');sgMail.setApiKey('YOUR_SENDGRID_API_KEY');
const msg = { to: 'recipient@example.com', from: 'sender@example.com', subject: 'SendGrid के माध्यम से भेजना', text: 'SendGrid से नमस्ते!', html: '<strong>SendGrid से नमस्ते!</strong>'};
sgMail.send(msg) .then(() => console.log('पत्र भेजा गया')) .catch(error => console.error(error));3. Mailgun.js
Mailgun डेवलपर्स के लिए एक और लोकप्रिय सेवा है। mailgun.js लाइब्रेरी पत्र भेजने और न्यूज़लेटर प्रबंधन के लिए एक सुविधाजनक इंटरफ़ेस प्रदान करती है।
// इंस्टॉलेशन: npm install mailgun.jsconst formData = require('form-data');const Mailgun = require('mailgun.js');const mailgun = new Mailgun(formData);
const mg = mailgun.client({ username: 'api', key: 'YOUR_MAILGUN_API_KEY'});
mg.messages.create('sandbox.mailgun.org', { from: 'Mailgun Sandbox <postmaster@sandbox.mailgun.org>', to: ['recipient@example.com'], subject: 'Mailgun से नमस्ते', text: 'Mailgun के माध्यम से परीक्षण पत्र।'}).then(msg => console.log(msg)).catch(err => console.error(err));ईमेल भेजने के लिए SMTP सेटअप
यदि आप अपना स्वयं का मेल सर्वर या Gmail/Yandex खाता उपयोग कर रहे हैं, तो SMTP कॉन्फ़िगर करना होगा। Gmail के लिए एक उदाहरण यहाँ है:
const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your@gmail.com', pass: 'your-app-password' // ऐप पासवर्ड का उपयोग करें }});