شرح ربط خدمة Amazon SES بخوادم CPanel/WHM لارسال رسائل إلكترونية موثوقة تصل لمجلد inbox
أهلا بكم، في هذه المقالة سأشرح لكم كيفية ربط خدمة Amazon SES مع خادم البريد Exim في لوحة التحكم cPanel/WHM وبدون الحاجة لخبرة تقنية.
سأفترض في هذا الدرس أنك تمتلك حساب Amazon Web Services، في البداية، دعنا نتعرف على خدمة Amazon SES..
ماهي خدمة Amazon SES ؟
هي خدمة إرسال بريد إلكتروني مبنية على الحوسبة السحابية، مصممة لمساعدة جهات التسويق الرقمي ومطوري التطبيقات على إرسال رسائل بريد إلكتروني موثوقة وبتكاليف منخفضة.
ما هي مميزات خدمة Amazon SES ؟
رسائل موثوقة، لن تواجه مشكلة وصول رسائلك لصندوق البريد المهملة Spam بعد اليوم!
تكاليف منخفضة والدفع عند الإستخدام وبدون اشتراكات شهرية.
لن تضطر لفحص عنوان الآي بي الخاص بالخادم، وداعاً لمشاكل حظر عناوين الآي بي ( Blacklist ).
ماهي تكلفة استخدام خدمة Amazon SES ؟
تكاليف هذه الخدمة منخفضة للغاية مقارنة بالخدمات الشبيهة، فهي كالتالي :
0.10$ لكل 1,000 رسالة بريد الكتروني.
0.12$ لكل 1GB من حجم مرفقات رسائل البريد الالكتروني.
ملاحظة: في حال كنت تمتلك خادم من Amazon EC2، فستمنحك أمازون 62,000 رسالة بريد الكتروني مجانية شهرياً.
البداية
بعد تسجيل الدخول لحساب AWS، سنتوجه لرابط الخدمة :
الخطوة الأولى التي سنقوم بها، هي اختيار المنطقة الجغرافية الأقرب للخادم الخاص بنا، مثلا : أنا لدي خادم من Amazon EC2 في قارة أوروبا وبالتحديد مدينة فرانكفورت (Frankfurt)
اذاً، المكان الأقرب لي، هي نفس المنطقة الجغرافية المتوفرة Frankfurt، والغرض من هذه الخطوة هي تقليل وقت الاستجابة بين خادمك وخادم أمازون الذي سيتولى عملية إرسال البريد الالكتروني.
تسجيل النطاق الأول
بالطبع لتتمكن من إرسال رسائل البريد الالكتروني عبر هذه الخدمة، يجب أن يتم توثيق النطاق الذي تريد أن تُرسل منه الرسائل.
سأفترض أن النطاق المستخدم هو abdalsalaam.xyz، ولتوثيقه سنتوجه لخانة Manage Identities
ثم سنقوم بالضغط على زر توثيق نطاق جديد ( Verify a New Domain )
سنكتب عنوان النطاق الخاص بنا وفي حالتي abdalsalaam.xyz، ونقوم بالتأكيد على خيار توليد اعدادات DKIM
(لمعلومات أكثر عن DKIM يرجى البحث في محرك البحث جوجل "ماهو DKIM")
ثم الضغط على زر Verify This Domain
سيقوم النظام بتوليد 4 سجلات الأول لتوثيق النطاق، والثلاثة المتبقية لإعداد DKIM.
لتسجيل هذه السجلات في النطاق الخاص بك بامكانك تسجيلها في لوحة التحكم مباشرة من الشركة التي قمت بحجز النطاق منها..
وفي حالتنا هذه، نحن نتعامل الآن مع خادم مثبّت عليه لوحة التحكم cPanel/WHM، لذا فلدينا امكانية لادخال السجلات بدون الحاجة للخيار الأول.
في لوحة التحكم WHM ، سنبحث عن خيار Edit dns zone ، ونختار النطاق الذي نعمل عليه حالياً
ثم نقوم بادخال هذه السجلات كما في الصورة
مع الانتباه للتالي :
لادخال سجل جديد ( _amazonses.abdalsalaam.xyz ) ويحمل القيمة ZqIlmHYyrhbiEF6AuLdi2XyRrAkprORtcVy+s6OOBQ4=
نقوم بانشاء سجل جديد نوعه TXT
سنقوم بادخال (_amazonses) في الخانة الأولى Name ، والقيمة "ZqIlmHYyrhbiEF6AuLdi2XyRrAkprORtcVy+s6OOBQ4=" في الخانة الثانية Value (مع اضافة علامات التنصيص "القيمة داخل علامات تنصيص")
ولادخال سجل جديد (2umh3fucfor7zprvfgsxsxxg6tjffu2c._domainkey.abdalsalaam.xyz) ويحمل القيمة (2umh3fucfor7zprvfgsxsxxg6tjffu2c.dkim.amazonses.com)
نقوم بانشاء سجل جديد نوعه CNAME
وفي الخانة الاولى نضع (2umh3fucfor7zprvfgsxsxxg6tjffu2c._domainkey) وتحمل القيمة (2umh3fucfor7zprvfgsxsxxg6tjffu2c.dkim.amazonses.com.) ملاحظة مهمة : نقوم باضافة نقطة "." في نهاية القيمة أي اننا سنضع النقطة بعد com.
بعد الانتهاء من ادخال السجلات،نعود لصفحة خدمة AWS SES ونضغط غلى زر Close لتظهر لنا قائمة النطاقات
وننتظر لحين فحص النطاق لنظهر كلمة verified ويصبح جاهز لارسال الرسائل (Enabled for Sending)
ثم سننتقل للخطوة الثانية ..
الغاء الوضع التجريبي
سنتوجه لصفحة احصائيات الارسال، يمكنك ايجاد الصفحة في القائمة ( Sending Statistics )
ستلاحظ وجود تنبيه مفاده أنك حاليا في الوضع التجريبي، وهذا الوضع لايسمح لك بارسال الرسائل من النطاقات التي قمت بتوثيقها الى نطاقات اخرى قمت بتوثيقها أيضاً..
وهذا الوضع تلقائي لجميع الحسابات الجديدة، للسيطرة على هذه الخدمة وإبعاد مُرسلي رسائل الاحتيال.
الحل سهل للغاية، سنقوم بالضغط على زر ( Request a sending limit increase )
سيوجهك الموقع لخدمة الدعم الفني، ببساطة ستطلب منهم الخروج من الوضع التجريبي مع تزويدهم بمعلومات عامة عن طبيعة نشاط موقعك وماهي أهدافك من استخدام هذه الخدمة؟
بعد الانتهاء من هذه الخطوة وتفعيل الوضع الكامل لديك، نتوجه للخطوة الثالثة والأخيرة
ربط خدمة Amazon SES بلوحة تحكم cPanel/WHM
لربط الخدمة بالخادم، سنحتاج للبيانات التالية :
Server name
Authentication
للحصول عليها، نتوجه لصفحة SMTP Settings
يمكننا بسهولة معرفة ماهو الخادم المسؤول عن ارسال البريد الالكتروني Server name ، وللحصول على بيانات المصادقة
سنقوم بالضغط على زر Create My SMTP Credentials
وعند توليد البيانات سنحتفظ بها في ملف نصي لنسخدمها بعد قليل
الآن لدينا كل البيانات المطلوبة، سنتوجه للوحة تحكم الخادم WHM
سنتوجه لإعدادات خادم البريد الالكتروني Exim Configuration Manager
مع اختيار المحرر المتقدم Advanced Editor
سنبحث في الصفحة عن قسم : Section: ROUTERSTART
ونلصق فيه هذه الأسطر
send_via_ses:
driver = manualroute
domains = ! +local_domains
transport = ses_smtp
route_list = * email-smtp.eu-central-1.amazonaws.com;
مع استبدال الخادم : email-smtp.eu-central-1.amazonaws.com بالخادم المسؤول عن المنطقة الجغرافية التي قمت باختيارها (Server name الذي قمت بتخزينه في ملف نصي قبل قليل)
ثم سنبحث عن قسم Section: TRANSPORTSTART
ونلصق فيه هذه الأسطر
ses_smtp:
driver = smtp
port = 587
hosts_require_auth = *
hosts_require_tls = *
بدون استبدال شيئ
والخطوة الأخيرة في قسم Section: AUTH
سنلصق فيه هذه الأسطر
ses_login:
driver = plaintext
public_name = LOGIN
client_send = : SMTP_USERNAME : SMTP_PASSWORD
مع استبدال SMTP_USERNAME و SMTP_PASSWORD بالبيانات التي تم توليدها في خطوة "Create My SMTP Credentials"
ثم سنضغط على زر Save في نهاية الصفحة
هذا كل شيئ ! سيقوم الخادم بإعادة تشغيل خادم البريد الالكتروني
والآن خادمك يرسل رسائل البريد الالكتروني عبر خدمة AWS SES
ملاحظة مهمة : يجب عليك توثيق جميع النطاقات المستضافة على خادمك ويثمل النطاق الرئيسي للخادمة مثال : server.abdalsalaam.xyz في حال أردت تفعيل ارسال الرسائل من هذه النطاقات.
واحرص على متابعة احصائيات الارسال في لوحة تحكم AWS SES للمحافظة على معدل صحّة عالي والابتعاد عن الرسائل المخالفة لقوانين أمازون.
وان كنت تواجه مشكلة مشابهة وترغب بتوظيف شخص ليحلها ، يسعدني التعامل معك عبر مستقل للعمل على حلها باذن الله
شكراً لك لوصولك لهذه النقطة
اراكم في شرح آخر
مصدر المقالة //