Nodemailer — إرسال البريد الإلكتروني باستخدام TypeScript

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

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

ابدأ الدورة

ما هو Nodemailer ولماذا هو مطلوب؟

Nodemailer هو الوحدة الأكثر شيوعًا لإرسال رسائل البريد الإلكتروني في بيئة Node.js. مكتوب بلغة JavaScript، ويعمل بشكل مثالي مع TypeScript بفضل الأنواع المضمنة (DefinitelyTyped). تتيح المكتبة إرسال الرسائل عبر SMTP وSendmail وAmazon SES وناقلات أخرى. في مشاريع TypeScript، يوفر Nodemailer كتابة صارمة لجميع الخيارات، مما يقلل من عدد الأخطاء في مرحلة التجميع.

التثبيت

للتثبيت، قم بتنفيذ الأمر التالي:

npm install nodemailer @types/nodemailer

الحزمة @types/nodemailer تضيف إعلانات الأنواع اللازمة لـ TypeScript.

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

  • إرسال الرسائل عبر SMTP — دعم Gmail وYandex وMail.ru وSendGrid وأي خوادم SMTP أخرى.
  • المرفقات — إمكانية إرفاق الملفات والصور وPDF.
  • قوالب HTML — إرسال رسائل بمحتوى HTML منسق.
  • دعم SSL/TLS — نقل آمن للبيانات.
  • تجمع الاتصالات — تحسين للإرسال الجماعي.

مثال على الكود بلغة TypeScript

فيما يلي مثال بسيط لإرسال بريد إلكتروني عبر Gmail SMTP باستخدام 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({ service: 'gmail', auth: { user: 'your@gmail.com', pass: 'your-app-password', }, });

const info = await transporter.sendMail(options); console.log('تم إرسال البريد الإلكتروني:', info.messageId);}

// الاستخدامsendEmail({ from: 'your@gmail.com', to: 'recipient@example.com', subject: 'مرحبًا من TypeScript!', html: '<h1>رسالة اختبارية</h1><p>تم إرسالها باستخدام Nodemailer</p>',});

هام: بالنسبة لـ Gmail، يجب استخدام كلمة مرور التطبيق (App Password) بدلاً من كلمة المرور العادية.

متى يتم استخدام Nodemailer؟

المكتبة مناسبة لـ:

  • رسائل التسجيل (تأكيد البريد الإلكتروني، استعادة كلمة المرور).
  • إشعارات الطلبات في المتاجر الإلكترونية.
  • النشرات الإخبارية ورسائل التسويق (باستخدام قوائم الانتظار).
  • التقارير التلقائية من الخلفية (السجلات، الأخطاء، الإحصائيات).

إذا كنت بحاجة إلى إرسال البريد الإلكتروني في مشروع TypeScript — يظل Nodemailer هو المعيار الفعلي بفضل مرونته وموثوقيته ومجتمعه الضخم.

توصيات