जावास्क्रिप्ट (Node.js) पर ईमेल भेजना: Nodemailer, SendGrid, Mailgun

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट (Node.js) पर ईमेल भेजना: पूर्ण गाइड

\n\n

आधुनिक वेब डेवलपमेंट में, किसी भी गंभीर एप्लिकेशन के लिए प्रोग्रामेटिक रूप से ईमेल भेजने की क्षमता एक महत्वपूर्ण कार्य है। चाहे वह रजिस्ट्रेशन पुष्टिकरण हो, पासवर्ड रीसेट, सूचनाएं या मार्केटिंग न्यूज़लेटर — Node.js मेल फंक्शनलिटी को एकीकृत करने के लिए कई शक्तिशाली समाधान प्रदान करता है। इस लेख में, हम तीन सबसे लोकप्रिय दृष्टिकोणों पर विस्तार से चर्चा करेंगे: बिल्ट-इन लाइब्रेरी nodemailer, क्लाउड सेवा SendGrid, और लचीला API Mailgun।

\n\n

ईमेल भेजने के लिए अलग लाइब्रेरी की आवश्यकता क्यों?

\n

Node.js में SMTP प्रोटोकॉल या मेल सेवाओं के REST API के साथ काम करने के लिए बिल्ट-इन सुविधाएं नहीं हैं। इसलिए डेवलपर्स विशेष लाइब्रेरीज़ का उपयोग करते हैं, जो निम्नलिखित कार्य संभालती हैं:

\n
    \n
  • सही MIME संदेश बनाना (HTML, अटैचमेंट, इनलाइन इमेज सहित);
  • \n
  • नेटवर्क त्रुटियों पर कतार और पुनः प्रयास प्रबंधन;
  • \n
  • क्रेडेंशियल्स का सुरक्षित भंडारण और ट्रांसमिशन;
  • \n
  • लोकप्रिय ईमेल प्रदाताओं (Gmail, Yandex, Mail.ru, कॉर्पोरेट सर्वर) के लिए समर्थन।
  • \n
\n\n

1. Nodemailer — सार्वभौमिक SMTP क्लाइंट

\n

Nodemailer Node.js में ईमेल भेजने के लिए डी-फैक्टो मानक है। यह क्लासिक SMTP और OAuth2 के साथ एकीकरण दोनों का समर्थन करता है। यह लाइब्रेरी बिना किसी अतिरिक्त निर्भरता के काम करती है और किसी भी SMTP सर्वर के माध्यम से ईमेल भेजने की अनुमति देती है।

\n\n

स्थापना

\n
npm install nodemailer
\n\n

Gmail SMTP के माध्यम से बुनियादी उदाहरण

\n
const nodemailer = require('nodemailer');\n\nconst transporter = nodemailer.createTransport({\n    host: 'smtp.gmail.com',\n    port: 587,\n    secure: false, // 465 के लिए true, बाकी के लिए false\n    auth: {\n        user: 'your-email@gmail.com',\n        pass: 'your-app-password' // मुख्य पासवर्ड नहीं, ऐप पासवर्ड का उपयोग करें!\n    }\n});\n\nconst mailOptions = {\n    from: '"Sender Name" <your-email@gmail.com>',\n    to: 'recipient@example.com',\n    subject: 'Node.js से नमस्ते',\n    text: 'यह एक सरल टेक्स्ट ईमेल है।',\n    html: '<b>यह HTML में बोल्ड टेक्स्ट है</b>'\n};\n\ntransporter.sendMail(mailOptions, (error, info) => {\n    if (error) {\n        return console.log('त्रुटि:', error);\n    }\n    console.log('ईमेल भेजा गया: %s', info.messageId);\n});\n
\n\n

अटैचमेंट के साथ काम करना

\n
mailOptions.attachments = [\n    {   // डिस्क पर फ़ाइल\n        filename: 'document.pdf',\n        path: '/path/to/document.pdf'\n    },\n    {   // स्ट्रिंग के रूप में सामग्री\n        filename: 'notes.txt',\n        content: 'मौके पर बनाई गई टेक्स्ट फ़ाइल'\n    }\n];\n
\n\n

2. SendGrid — ट्रांजेक्शनल ईमेल के लिए क्लाउड सेवा

\n

SendGrid (अब Twilio का हिस्सा) एक शक्तिशाली REST API प्रदान करता है और उच्च डिलीवरेबिलिटी सुनिश्चित करता है। लाइब्रेरी @sendgrid/mail एकीकरण को सरल बनाती है। यह उन प्रोजेक्ट्स के लिए उपयुक्त है जहां ओपन, क्लिक और अनसब्सक्राइब एनालिटिक्स महत्वपूर्ण हैं।

\n\n

स्थापना

\n
npm install @sendgrid/mail
\n\n

भेजने का उदाहरण

\n
const sgMail = require('@sendgrid/mail');\nsgMail.setApiKey(process.env.SENDGRID_API_KEY);\n\nconst msg = {\n    to: 'recipient@example.com',\n    from: 'sender@yourdomain.com', // डोमेन SendGrid में सत्यापित होना चाहिए\n    subject: 'सेवा से सूचना',\n    text: 'ईमेल का टेक्स्ट संस्करण',\n    html: '<h1>नमस्ते!</h1><p>यह ईमेल SendGrid के माध्यम से भेजा गया है।</p>',\n};\n\nsgMail.send(msg)\n    .then(() => console.log('ईमेल सफलतापूर्वक भेजा गया'))\n    .catch((error) => console.error(error.toString()));\n
\n\n

डायनामिक टेम्पलेट के साथ भेजना

\n
const msg = {\n    to: 'user@example.com',\n    from: 'test@example.com',\n    templateId: 'd-xxxxxxxxxxxxxxxxxxxx', // SendGrid से टेम्पलेट ID\n    dynamicTemplateData: {\n                    

अनुशंसाएँ