जावास्क्रिप्ट (Node.js) पर ईमेल भेजना: nodemailer, sendgrid, mailgun

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

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

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

जावास्क्रिप्ट (Node.js) पर ईमेल भेजना: nodemailer, sendgrid, mailgun



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



1. Nodemailer — बहुमुखी SMTP क्लाइंट



Nodemailer Node.js में ईमेल भेजने के लिए सबसे लोकप्रिय लाइब्रेरी है। यह SMTP, SES, Sendmail और कई ट्रांसपोर्ट को सपोर्ट करता है। मुख्य लाभ:



  • SMTP खाते (Gmail, Yandex, Mail.ru) के माध्यम से सरल सेटअप।
  • अटैचमेंट, इनलाइन इमेज, HTML टेम्पलेट के लिए समर्थन।
  • कतारों और कनेक्शन पूल के साथ काम करना।
  • async/await के माध्यम से एसिंक्रोनस भेजना।


स्थापना और बुनियादी भेजना

npm install nodemailer


const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // 465 पोर्ट के लिए true auth: { user: 'your-email@gmail.com', pass: 'your-password' // या ऐप-पासवर्ड }});

const mailOptions = { from: '"प्रेषक" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Node.js से नमस्ते!', text: 'यह एक परीक्षण ईमेल है।', html: '<h1>नमस्ते!</h1><p>यह HTML संस्करण है।</p>'};

const sendMail = async () => { const info = await transporter.sendMail(mailOptions); console.log('ईमेल भेजा गया:', info.messageId);};

sendMail().catch(console.error);


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

const mailOptions = {  // ...मुख्य फ़ील्ड  attachments: [    {      filename: 'document.pdf',      path: '/path/to/document.pdf'    },    {      filename: 'image.png',      content: fs.createReadStream('/path/to/image.png')    }  ]};


महत्वपूर्ण: Gmail के लिए ऐप पासवर्ड या OAuth2 का उपयोग करें।



2. SendGrid — लेन-देन संबंधी ईमेल के लिए क्लाउड सेवा



SendGrid (Twilio का हिस्सा) उच्च वितरण क्षमता के साथ ईमेल भेजने के लिए एक शक्तिशाली API प्रदान करता है। यह स्टार्टअप और बड़ी परियोजनाओं के लिए उपयुक्त है। मुख्य विशेषताएं:



  • एक्सेस कुंजियों के साथ API (SMTP के बिना)।
  • डायनामिक टेम्पलेट (Handlebars)।
  • एनालिटिक्स: खोलना, क्लिक, अनसब्सक्राइब।
  • प्रति दिन 100 ईमेल तक का मुफ्त प्लान।


स्थापना और भेजना

npm install @sendgrid/mail


const sgMail = require('@sendgrid/mail');sgMail.setApiKey(process.env.SENDGRID_API_KEY);

const msg = { to: 'recipient@example.com', from: 'sender@example.com', subject: 'लेन-देन संबंधी ईमेल', text: 'ईमेल का टेक्स्ट', html: '<strong>HTML सामग्री</strong>', attachments: [ { content: 'base64encodedcontent', filename: 'invoice.pdf', type: 'application/pdf', disposition: 'attachment' } ]};

sgMail.send(msg) .then(() => console.log('ईमेल भेजा गया')) .catch(console.error);


डायनामिक टेम्पलेट का उपयोग

const msg = {  to: 'user@example.com',  from: 'noreply@mysite.com',  templateId: 'd-xxxxxxxxxxxxxxxx',  dynamicTemplateData: {    username: 'इवान',    orderLink: 'https://mysite.com/order/123'  }};


3. Mailgun — उच्च के लिए

अनुशंसाएँ