Mailtrap خدمة SMTP مجانية لإختبار الرسائل

في هذا المقال سأقوم بشرح خدمة Mailtrap المجانية التي تتيح لك الحصول على صندوق وارد مجاني لإستقبال رسائل البريد الإلكتروني المرسلة من برمجيتك.

Nawaf Khalifahمنذ شهرين

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وَزِدْنا عِلمًا 

منذ مدة طويلة لم أكتب مقالات في عالم البرمجة، وذلك لإنشغالي بالحياة! على كُل حال فالقادم سيكون اجمل إن شاء الله.

مقدمة

مؤخرًا كنت اعمل على برمجية، وهذه البرمجية تحتوي على الكثير من الوظائف التي تتطلب ارسال رسالة إلى البريد الإلكتروني الخاص بالمستخدم والتي بدورها تحتوي على معلومات قد تهم هذا المستخدم، فكانت أعظم مشكلاتي هي ارسال بريد من مساحة عملي (local) إلى صندوق البريد للمستلم (inbox)، ولكن هذا بالتأكيد صعب جدًا من ناحية الإعداد و دون الحصور على SMTP، وبالغالب للحصول على SMTP تحتاج لدفع اشتراك شهري لمزود خدمة SMTP. بعد قيامي بالبحث قليلًا وجدت هذه الخدمة الرائعة Mailtrap والتي تقدم لك امكانية الحصول على SMTP مُزيف ومجاني بحيث يستقبل جميع الرسائل التي يتم ارسالها من البرمجية لاختبارها ومشاهدتها على أرض الواقع.

 

أولًا ماهو SMTP؟

كلمة SMTP اختصار لجملة Simple Mail Transfer Protocol (بروتوكول إرسال البريد البسيط)، وهو برتوكول يستخدم لإرسال رسائل البريد الإلكتروني بين الخوادم بحيث يستطيع المستخدم استقبالها بواسطة بروتوكول POP وهو اختصار لجملة Post Office Protocol (بروتوكول مكتب البريد)، ويستطيع ايضًا العميل إرسال الرسائل إلى الخادوم باستخدام هذا البروتوكول.

خلاصة الموضوع: هذا البرتوكول يستخدم لإرسال رسائل البريد الإلكتروني؛ وقد أقوم بشرح البرتوكولات المستخدمة لإرسال رسائل البريد الإلكتروني واستقبالها، ومميزاتها، والفروقات في موضوع أخر.

 

ثانيًا مالحاجة من إرسال بريد الكتروني من برمجيتي؟

من الملاحظ استخدام كثير من المواقع والتطبيقات البريد الإلكتروني كوسيلة للتواصل مع العميل أو المٌستخدم أو كوسيلة لجعل النظام يتواصل مع العميل أو المستخدم وذلك لضمان الأمان وحماية المعلومات، فالمستخدم مثلًا قد فقد كلمة المرور الخاصة بحسابه ويريد استرجاعها، أو ان الموقع يتطلب التسجيل ببريد إلكتروني صحيح لإثبات ان المُسجل إنسان وليس (BOT)، أو لإرسال التقارير أو الفواتير أو غيرها، فبالتأكيد أنسب طريقة هي استخدام البريد الإلكتروني لتوفير هذه الاحتياجات.

 

ثالثًا ماهو Mailtrap وماهي استخداماته؟

هو خادم SMTP مزيف يستخدمه المطورين لإختبار وعرض ومشاركة رسائل البريد الإلكتروني المرسلة من بيئة التطوير دون ازعاج المستخدمين الحقيقين برسائل الإختبار.

 

مميزات واستخدامات Mailtrap

  1. لن تزعج المستخدمين الحقيقين عن طريق الخطأ. (لأن Mailtrap يقوم بتوجيه جميع الرسائل الى صندوق وارد مزيف).
  2. اختبار الكود أو التصميم الخاص بالرسالة (HTML) لأغلب خدمات وبرامج البريد الإلكتروني.
  3. مشاركة رسائل الاختبار مع فريق التطوير.
  4. يمكن اعادة توجيه الرسائل إلى الأشخاص الذين يحتاجونها.
  5. إعداد سريع وسهل.

 

رابعًا كيف أحصل على الخدمة

كما ذكرت سلفًا فالخدمة مجانية ويمكنك التسجيل بها من خلال الدخول إلى Mailtrap.io ثم اتباع الخطوات التالية للتسجيل:

أ) بعد الدخول للموقع قم بالضغط على زر Sign Up الموجود بالقائمة العلوية على اليمين.

ب) يوجد ثلاثة خيارات للتسجيل بحيث يمكنك التسجيل تلقائيًا باستخدام حساب Google أو حساب Github أو باستخدام بريدك الإلكتروني.

و أظن ان طرق التسجيل واضحة جدًا ولا تحتاج إلى شرح.

ملاحظة: في حال سجلت بإستخدام البريد الإلكتروني ستصلك رسالة تفعيل (قد تجدها في البريد الغير مرغوب به).

 

خامسًا كيف أستخدم الخدمة؟

بعد التسجيل بالخدمة والدخول إلى حسابك ستجد قائمة بصناديق البريد المتاحة بحسابك كما بالصورة التالية:

من هذه القائمة قم بالضغط على (Demo inbox) وسيكون صندوق البريد هذا هو المساحة التي سنعمل على ربطها ببرمجيتنا لإختبار رسائل البريد الإلكتروني، عند الدخول إلى صندوق البريد (Demo Index) ستشاهد مايلي:

بالصورة اعلاه نلاحظ وجود ثلاثة قوائم تحت قائمة SMTP Settings (اعدادات SMTP):

  1. SMTP: وهي معلومات بروتوكول SMTP التي نحتاجها لعملية الربط.
  2. POP3: وهي معلومات بروتوكول POP3 التي قد نحتاجها لعملية الربط.
  3. Integrations: وهي شرح لكيفية الربط، بحيث يمكنك ان تقوم بإختيار منصة العمل التي تستخدمها من خلال القائمة؛ في هذا الدرس سوف نستخدم Native PHP (لن نستخدم منصة).

ملاحظة: في هذه المقالة سوف نستخدم بروتوكول SMTP، ولن نستخدم اي منصة عمل وانما فقط سنكتفي بكود PHP بسيط.

 

سادسًا مثال عملي

أ) المتطلبات لهذا المثال:

  • سيرفر محلي (Local Server) وانصح باستخدام XAMPP لمستخدمي ال Windows. (تنزيل)
  • مكتبة PhpMailer او Pear وهي مكتبة تسمح لنا بارسال الرسائل عبر بروتوكول SMTP. في هذا المقال سأستخدم كلاس بسيط لعمل اتصال مع SMTP. (تنزيل)

ب) سأقوم بعمل ملف يسمى sendmail.php، وسأقوم باستدعاء الكلاس بداخله Mail.php، ثم المباشرة بالاعداد لإرسال البريد الالكتروني.

<?php
require('Mail.php');

// انشاء كائن من نوع Mail
$mail = new EMail();

// الاعدادات
$mail->Server = 'smtp.mailtrap.io';
$mail->Port = '2525';
$mail->Username = 'e7922f1b14baec';
$mail->Password = '91f618ff2a9c7a';

// معلومات المستقبل والرسالة
$mail->SetFrom("[email protected]", "Nawaf Ability");
$mail->AddTo("[email protected]", "Nawaf Khalifah");
$mail->Subject = "Welcome to the world";
$mail->Message = "Welcome Nawaf.";

// ارسال الرسالة
$success = $mail->Send();

if ($success) {
    echo 'Email has been sent.';
} else {
    echo 'ERROR.';
}

 

وهذه صورة من مساحة عملي/

تنبيه: بالسطر 4 الصحيح هو (إنشاء كائن من نوع EMail)

لاحظ من السطر 8 الى السر 10 قمنا بوضع اعدادات SMTP التي حصلنا عليها من الموقع، ومن السطر 14 الى 17 قمنا بإنشاء رسالة جديدة، وبالسطر 20 قمنا بإرسال الرسالة.

ملاحظة: $mail هو Object من الكلاس EMail وما ييلي الرمز -> هو متغيرات الكلاس العامة او الوظائف المتاحة.

 

عند عمل اختبار للسكربت من خلال التوجه للمتصفح وفتح الرابط/ http://127.0.0.1/sendmail.php ستكون النتيجة كالأتي:

 

كما نلاحظ فقد تم ارسال الرسالة بنجاح .. ماذا الأن؟

 

ج) التحقق من صندوق الوارد (Demo Inbox)

 

كما نلاحظ فقد وصلت الرسالة بنجاح الى (Demo Inbox) في حسابنا في Mailtrap، سأقوم تاليًا بفتح الرسالة وذلك بالضغط عليها لمشاهدة المحتوى:

 

كما نلاحظ فالمربع الأحمر يشير الى مرسل الرسالة والذي قمت بتعيينه سابقًا بالسطر 14 من ملف sendmail.php، والمربع الأزرق يشير إلى مستقبل الرسالة والذي قمنا بتعيينه سابقًا في السطر 15 من sendmail.php.

ماذا يعني ذلك؟ هذا يعني ان Mailtrap يوجه الرسالة التي من المفترض أن تصل للمستقبل تلقائيًا إلى (Demo Inbox).

 

الخلاصة

يوفر لنا Mailtrap بيئة آمنة لإختبار رسائل البريد الإلكتروني التي قد يتلقاها مُستخدم البرمجية دون ازعاج المستخدم الأساسي بالرسائل التجريبية. ويوفر Mailtrap امكانية ربطه مع أي برمجية بأي لغة برمجة كونه يقدم لنا خادوم SMTP مُزيف وآمن.

اما عن SMTP فهو بروتوكول يستخدم لإرسال البريد الإلكتروني بين الخوادم، أو من المستخدم (العميل) إلى الخادوم، دون الحاجة للقيام بإعدادات معقدة.

 

خاتمة

اتمنى أن اكون قد وفقت بإنتقاء الموضوع وبالطرح، فإن أصبت فمن الله، وإن أخطأت فمني ومن الشيطان.

تحياتي،

1
إعجاب
555
مشاهدات
0
مشاركة
1
متابع
متميز
محتوى رهيب

التعليقات (1)

Nawaf Khalifah:

ملاحظة: بروتوكول SMTP يستخدم لإرسال البريد الإلكتروني، ويستطيع المٌستخدم استقبال البريد من خلال بروتوكول أخر يسمى POP، المخطط التالي يوضح الفكرة:

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !