واجهة برمجة تطبيقات Nodd.js المفتوحة المصدر لقراءة وإرسال البريد الإلكتروني
واجهة برمجة تطبيقات إدارة البريد الإلكتروني المتقدمة المفتوحة المصدر لـ Node.js تمكّن المطورين من إنشاء وقراءة وتخصيص وإرسال رسائل البريد الإلكتروني مع مرفقات ورأس مخصص من تطبيقات Node.js.
ما هو Nodemailer API؟
اكتشف Nodemailer، مكتبة إرسال البريد الإلكتروني الأساسية لمطوري Node.js. تمكّن الأداة مطوري Node.js من إنشاء وإرسال رسائل البريد الإلكتروني ببضع أسطر من الشيفرة فقط من داخل تطبيقاتهم. طبيعتها المفتوحة المصدر وواجهة برمجة التطبيقات القوية تجعلها خيارًا شائعًا للمطورين الذين يرغبون في دمج وظائف البريد الإلكتروني بسلاسة. يمكن لمطوري البرمجيات تخصيص محتوى البريد الإلكتروني بشكل واسع دون أي مساعدة خارجية. من رسائل النص البسيطة إلى قوالب HTML المعقدة (رسائل المعاملات، الإشعارات، أو النشرات الإخبارية) مع المرفقات، توفر المكتبة الأدوات اللازمة لإنشاء رسائل بريد إلكتروني احترافية وجذابة. لتعزيز الأمان، تدعم المصادقة عبر OAuth2. هذه الطريقة مفيدة بشكل خاص عند إرسال رسائل البريد الإلكتروني من الخدمات التي تدعم OAuth2، مثل Gmail.
يدعم Nodemailer مجموعة متنوعة من طرق النقل، بما في ذلك SMTP وOAuth2 وحتى النقل المباشر. تضمن هذه المرونة أن يتمكن المطورون من اختيار الطريقة الأنسب لحالتهم الخاصة. يوفر خيارات تخصيص واسعة ويسمح للمطورين بتعيين رؤوس مخصصة، تعديل الترميز، إضافة مرفقات، صور مدمجة، وضبط معلمات أخرى لتلبية المتطلبات المحددة. كونه مشروعًا مفتوح المصدر، تستفيد واجهة برمجة التطبيقات من مجتمع نشط من المساهمين والمستخدمين. يضمن هذا المجتمع النشط تحديثات منتظمة، تحسينًا مستمرًا، وثروة من المعرفة والموارد المشتركة. يبرز Nodemailer كحل قوي ومرن وموثوق لتكامل البريد الإلكتروني في تطبيقات Node.js. تجعل طبيعته المفتوحة المصدر ودعم المجتمع القوي منه أداة مفضلة للمطورين الذين يهدفون إلى تعزيز تطبيقاتهم بقدرات إرسال بريد إلكتروني قوية.
البدء مع Nodemailer
الطريقة الموصى بها لتثبيت Nodemailer هي باستخدام NPM. يرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت Nodemailer عبر npm
npm install nodemailer
إرسال رسالة بريد إلكتروني من Node.js
واجهة برمجة تطبيقات البريد الإلكتروني المفتوحة المصدر Nodemailer تسمح لمطوري البرمجيات بإنشاء وإرسال رسائل البريد الإلكتروني من تطبيق Node.js دون أي تبعيات خارجية. تدعم الواجهة آليات نقل مختلفة، مما يتيح للمطورين اختيار أفضل طريقة لإرسال البريد الإلكتروني. تشمل أكثر طرق النقل شيوعًا نقل SMTP، دعم OAuth2 أو النقل المباشر. تدعم إضافة مرفقات إلى رسائل البريد الإلكتروني، تضمين مرفقات صور للمحتوى HTML، إرسال البريد إلى عدة مستخدمين وما إلى ذلك. إليكم مثالًا بسيطًا يوضح كيف يمكن لمطوري البرمجيات استخدام نقل SMTP لإرسال رسالة بريد إلكتروني من تطبيق Node.js.
كيف تُرسل رسالة بريد إلكتروني عبر نقل SMTP من تطبيقات Node.js؟
const nodemailer = require('nodemailer');
// Configure the SMTP transport
let transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'your-email@example.com', // your SMTP username
pass: 'your-email-password' // your SMTP password
}
});
// Define the email options
let mailOptions = {
from: 'your-email@example.com', // sender address
to: 'recipient@example.com', // list of receivers
subject: 'Hello from Nodemailer', // Subject line
text: 'This is a test email sent using Nodemailer', // plain text body
html: 'This is a test email sent using Nodemailer' // html body
};
// Send the email
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log('Error: ', error);
}
console.log('Message sent: %s', info.messageId);
console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
});
إرسال رسائل بريد إلكتروني بمحتوى غني من تطبيقات Node.js
تمكن واجهة برمجة تطبيقات Nodemailer من إنشاء محتوى بريد إلكتروني غني، تدعم كلًا من النص العادي وتنسيق HTML داخل تطبيقات Node.js. يتيح ذلك للمطورين إنشاء رسائل بريد إلكتروني جذابة بصريًا يمكنها تضمين الأنماط والصور وحتى المحتوى التفاعلي. باستخدام الواجهة مع محركات القوالب مثل Handlebars أو EJS، يمكن للمطورين إنشاء قوالب بريد إلكتروني ديناميكية تعتمد على البيانات. هذا مثالي لإرسال رسائل مخصصة، حيث يمكن للمحتوى التكيف بناءً على بيانات المستخدم. تدعم الواجهة المرفقات، مما يجعل من الممكن إرسال ملفات مثل PDFs، الصور، أو أي نوع آخر من الملفات مع البريد الإلكتروني.
رؤوس مخصصة وصور مدمجة
للتخصيص المتقدم للبريد الإلكتروني، تتيح واجهة برمجة تطبيقات Nodemailer للمطورين تضمين رؤوس مخصصة وصور مدمجة داخل تطبيقات Node.js. هذه الميزة مفيدة بشكل خاص للعلامة التجارية والتخصيص، مما يضمن توافق الرسائل مع مظهر وشعور التطبيق. يمكن استخدام الرؤوس المخصصة لتعيين بيانات تعريفية محددة للبريد، بينما يمكن للصور المدمجة جعل بريدك الإلكتروني جذابًا بصريًا عن طريق عرض الصور داخل النص. أدناه مثال شامل يوضح إرسال بريد إلكتروني مع رؤوس مخصصة وصورة مدمجة.
كيف تُرسل بريدًا إلكترونيًا مع رأس مخصص وصورة مدمجة عبر واجهة برمجة تطبيقات Node.js؟
const nodemailer = require('nodemailer');
const path = require('path');
// Create a transporter object using SMTP transport
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-email-password'
}
});
// Define the email options, including custom headers and an embedded image
let mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Custom Headers and Embedded Images in Nodemailer',
html: `مرحبًا!
يتضمن هذا البريد الإلكتروني رؤوسًا مخصصة وصورة مدمجة.
`,
headers: {
'X-Custom-Header': 'CustomHeaderValue',
'X-Mailer': 'Nodemailer 6.4.11'
},
attachments: [
{
filename: 'image.jpg',
path: path.join(__dirname, 'path_to_image/image.jpg'),
cid: 'unique@nodemailer.com' // same cid as in the HTML above
}
]
};
// Send the email
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.error('Error sending email:', error);
}
console.log('Email sent successfully:', info.response);
});