
بصفتي مطورًا مدافعًا لـ SparkPost، أكتب الكثير من التطبيقات النموذجية. يرجع خلفيتي إلى التطوير الأمامي بشكل رئيسي، ولذلك فإن أقوى لغتي هي JavaScript. بفضل Node.js، أصبحت مطورًا خلفيًا جيدًا أيضًا. هل يعني هذا أنني مطور ذو تكدس كامل الآن؟
مقدمة في Node.js
بصفتي مطورًا مدافعًا لشركة SparkPost، أكتب العديد من التطبيقات النموذجية. خلفيتي هي في الغالب تطوير الواجهة الأمامية، لذلك فإن أقوى لغتي هي JavaScript. بفضل Node.js، أصبحت مطورًا جيدًا للواجهة الخلفية أيضًا. هل يعني هذا أنني الآن مطور كامل المكدس؟ على أي حال، كان من المهم بالنسبة لي أن يكون لدينا مكتبة عميل رائعة لـ SparkPost على Node.js. لذا، قمت بالتعمق وأصبحت مساهمًا (حتى قبل أن يتم توظيفي).
اسمح لي بمساعدتك على البدء في إرسال رسائل البريد الإلكتروني باستخدام SparkPost على مشروعك باستخدام Node.js.
التثبيت والإعداد
إرسال بريد إلكتروني
الآن بعد أن لديك مثيل SparkPost، أنت جاهز للإرسال. هناك العديد من الخيارات المتاحة للإرسال، لكن دعونا نبدأ بمثال بسيط. إليك كيفية إرسال بريد إلكتروني إلى مستلم واحد، مع تحديد المحتوى المضمن:
client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>مرحبا بالعالم</p>' }, recipients: [ {address: 'someone@somedomain.com'} ] }) .then(data => { console.log('يا لها من لحظة! لقد أرسلت أول إرسالية لديك!') console.log(data) }) .catch(err => { console.log('أوه! حدث خطأ ما') console.log(err) })
ملاحظة: هذا المثال يستخدم الوعود، ولكن لا تقلق. نحن أيضًا ندعم دوال الاسترجاع.
هناك المزيد من الخيارات المتاحة مع الإرساليات، بما في ذلك تحديد القوالب المخزنة أو قوائم المستلمين، cc و bcc، إضافة مرفقات، تحديد حملة، استخدام بيانات الاستبدال، وأكثر من ذلك بكثير. تحقق من الأمثلة، الوثائق لمصدر Transmissions، و توثيق واجهة برمجة التطبيقات للإرساليات لمزيد من المعلومات.
مكافأة: إرسال البريد الإلكتروني باستخدام Nodemailer
Nodemailer هي مكتبة شهيرة لـ Node.js تجعل إرسال البريد الإلكتروني "سهلاً كالكعك." لأولئك الذين يختارون استخدام هذه المكتبة، أنشأنا SparkPost transport لـ Nodemailer. ستحتاج لتثبيت حزم nodemailer و nodemailer-sparkpost-transport في مشروعك.
> npm install nodemailer nodemailer-sparkpost-transport --save
يمكنك الآن إنشاء مثال لنقل nodemailer:
const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))
لاحظ كيف أنني أقرأ مفتاح API من متغير البيئة. لا يزال من الأفضل عدم وضع ذلك مباشرة في الكود الخاص بك.
هناك العديد من الخيارات التي يمكن تمريرها إلى SparkPost transport، مثل معرف الحملة وما إذا كانت الرسالة تحويلية أو لا. ألقِ نظرة على README.md لجميع الخيارات.
إليك كيفية إرسال نفس الرسالة أعلاه باستخدام Nodemailer:
transporter.sendMail({ from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hello world</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } })
مكافأة مزدوجة: إرسال بريد إلكتروني باستخدام notif.me
كلنا نعلم أن البريد الإلكتروني هو ملك التواصل ولكن في بعض الأحيان ترغب في الوصول إلى الناس عبر قنوات متعددة. notif.me هي مكتبة Node.js لإرسال جميع أنواع الرسائل التعامُلية. سواء كنت تريد إرسال بريد إلكتروني أو رسالة نصية أو دفع أو دفع عبر الويب، يمكنك القيام بذلك بسهولة. كما أن لديها استراتيجيات مدمجة للالتفاف والتنقل الدائري لمزودين متعددين. لقد عملنا مؤخرًا مع المبدعين لبناء مزود SparkPost. ستحتاج إلى تثبيت حزمة `notifme-sdk` في مشروعك.
> npm install notifme-sdk --save
يمكنك الآن إنشاء مثيل notifme مع مزود SparkPost:
const NotifmeSdk = require('notifme-sdk').default const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [{ type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY, }] } } })
مرة أخرى، نحن نستخرج مفتاح API من متغير البيئة. لقد ذكرنا ذلك ثلاث مرات - إنه بهذه الأهمية. 🙂
الآن دعونا نكرر هذا المثال نفسه، هذه المرة باستخدام notif.me:
notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>مرحبا بالعالم</p>' } }).then(console.log)
إنه سهل الاستخدام حقًا وأنا أوصي بالنظر إلى الميزات الأخرى.
لا توجد طريقة خاطئة لاستخدام Node
عندما يتعلق الأمر بإرسال البريد الإلكتروني باستخدام Node.js، لديك العديد من الخيارات. لقد عملنا بجد لجعل الأمر سهلاً قدر الإمكان.