nodemailer

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مكتبة nodemailer لإرسال البريد الإلكتروني باستخدام TypeScript

nodemailer هي مكتبة قوية وشائعة لـ Node.js، مكتوبة بلغة TypeScript، وتتيح إرسال رسائل البريد الإلكتروني بسهولة من تطبيقات الخادم. تدعم جميع البروتوكولات الحديثة (SMTP، SES، Sendmail) وتنسيقات الرسائل (HTML، نص، مرفقات).

لماذا نحتاج nodemailer؟

في تطوير الويب، غالبًا ما نحتاج إلى إرسال الإشعارات، تأكيدات التسجيل، إعادة تعيين كلمة المرور، أو النشرات التسويقية. تحل nodemailer هذه المشكلة من خلال توفير واجهة برمجة تطبيقات بسيطة ومرنة للعمل مع خوادم البريد. بفضل كتابة TypeScript، يصبح الكود أكثر موثوقية وقابلية للتنبؤ.

التثبيت

قم بتثبيت الحزمة عبر npm أو yarn:

npm install nodemailernpm install -D @types/nodemailer

بالنسبة لـ TypeScript، تأكد من تثبيت حزمة الأنواع.

الوظائف الرئيسية

  • دعم SMTP — العمل مع أي خادم SMTP (Gmail، Yandex، Mailgun، SendGrid).
  • رسائل HTML والنص — يمكن إرسال نص عادي أو رسائل HTML منسقة.
  • المرفقات — دعم الملفات والصور والمرفقات المضمنة.
  • التدفقات — إمكانية إرسال ملفات كبيرة عبر التدفقات.
  • الأمان — دعم TLS/SSL، OAuth2.
  • تجمع الاتصالات — تحسين للإرسال الجماعي.

مثال كود باستخدام TypeScript

مثال بسيط لإرسال بريد إلكتروني عبر Gmail SMTP:

import nodemailer from 'nodemailer';

async function sendEmail() { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // true للمنفذ 465 auth: { user: 'your-email@gmail.com', pass: 'your-password', }, });

const info = await transporter.sendMail({ from: '"Sender Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'مرحباً من TypeScript!', text: 'هذا هو نص الرسالة.', html: '<b>هذه رسالة HTML</b>', });

console.log('تم إرسال البريد:', info.messageId);}

sendEmail().catch(console.error);

متى تستخدم nodemailer

المكتبة مثالية لـ:

  • تطبيقات الخلفية على Node.js/Express/NestJS.
  • الإشعارات التلقائية (التسجيل، الطلبات، الأخطاء).
  • تأكيد عناوين البريد الإلكتروني.
  • إرسال الرسائل المعاملاتية.
  • التكامل مع أي مزودي SMTP.

إذا كنت بحاجة إلى إرسال رسائل مع مرفقات، قوالب HTML، أو عبر خدمات خارجية (SendGrid، Mailgun)، فإن nodemailer هي المعيار الفعلي في نظام Node.js البيئي.

هام: للإنتاج، استخدم متغيرات البيئة لتخزين كلمات المرور وإعدادات OAuth2 لتجنب كشف بيانات الاعتماد في الكود.

توصيات