البريد الإلكتروني الاحترافي عبر Amazon SES في HosteDay: تأكيد الحساب وإعادة تعيين كلمة المرور من نطاق مشروعك
تعرّف على نظام البريد الإلكتروني في HosteDay المبني على Amazon SES لإرسال رسائل تأكيد البريد وإعادة تعيين كلمة المرور من نطاق مشروعك، مع حماية التوكنات، إدارة الحصص، وتتبع حالة الإرسال.
Amazon SES داخل HosteDay: بريد احترافي لكل مشروع
البريد الإلكتروني ليس مجرد وسيلة لإرسال الإشعارات. في أي تطبيق احترافي، هو جزء أساسي من الأمان، تجربة المستخدم، وهوية المشروع.
عند إنشاء حساب جديد، يحتاج المستخدم إلى رسالة واضحة لتأكيد بريده الإلكتروني. وعند نسيان كلمة المرور، يجب أن تصله رسالة آمنة تحتوي على رابط موثوق لإعادة تعيينها. كما تحتاج التطبيقات إلى إرسال إشعارات مرتبطة بالحساب، الطلبات، الملفات، العمليات الداخلية، أو التحديثات المهمة.
لهذا تعتمد HosteDay على Amazon Simple Email Service (Amazon SES) كبنية مركزية لإرسال البريد الإلكتروني المعاملاتي، مع طبقة إدارة خاصة بالمنصة تربط كل رسالة بالمشروع الصحيح وخطته وحدود استخدامه. Amazon SES هي خدمة إرسال بريد من AWS تدعم التحقق من هوية النطاقات، المصادقة عبر DKIM، وإرسال الرسائل من نطاقات موثقة.
النتيجة: يستطيع كل مشروع على HosteDay إرسال رسائل احترافية وآمنة دون الحاجة إلى إعداد SMTP أو مفاتيح AWS داخل المشروع نفسه.
لماذا لا نضع إعدادات SMTP داخل كل مشروع؟
الطريقة التقليدية تعتمد على وضع بيانات SMTP أو مفاتيح خدمة البريد داخل ملف البيئة لكل مشروع:
MAIL_HOST=
MAIL_USERNAME=
MAIL_PASSWORD=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
هذه الطريقة تخلق عدة مشاكل:
- تكرار إعدادات البريد في كل مشروع.
- زيادة خطر كشف مفاتيح SMTP أو مفاتيح AWS.
- صعوبة مراقبة الاستهلاك لكل مشروع.
- صعوبة تطبيق حدود إرسال مناسبة لكل خطة.
- تعقيد تحديث إعدادات البريد مستقبلاً.
- صعوبة توحيد تتبع التسليم والارتداد والشكاوى.
في HosteDay، مشروع العميل لا يحتاج إلى معرفة إعدادات Amazon SES أو بيانات SMTP. بدلاً من ذلك، يتواصل مع بوابة بريد مركزية وآمنة داخل المنصة.
مشروع العميل
↓
بوابة البريد المركزية في HosteDay
↓
التحقق من هوية الخادم
↓
فحص الخطة والحصة البريدية
↓
الإرسال عبر Amazon SES
↓
وصول الرسالة إلى المستخدم
رسائل من نطاق مشروعك
المستخدم لا يجب أن يستلم رسالة من عنوان عام لا يوضح اسم التطبيق.
بدلاً من:
noreply@hosteday.com
يمكن أن تصل الرسالة من نطاق المشروع نفسه:
noreply@pro.hosteday.com
فتظهر للمستخدم بالشكل التالي:
Pro HosteDay <noreply@pro.hosteday.com>
هذه التفاصيل تعزز ثقة المستخدم في الرسالة، وتوضح أن البريد مرتبط مباشرة بالمشروع الذي يستخدمه.
تعتمد Amazon SES على التحقق من هوية النطاق وإعداد DKIM لمصادقة الرسائل. كما تدعم إعداد نطاق MAIL FROM مخصص عند الحاجة، مع متطلبات DNS مثل سجلات SPF وMX للنطاق المخصص.
تأكيد البريد الإلكتروني بعد إنشاء الحساب
عند تسجيل مستخدم جديد، يتم إنشاء الحساب بحالة:
غير مؤكد
ثم يرسل المشروع رسالة تحقق احترافية عبر بوابة البريد في HosteDay وAmazon SES.
تحتوي الرسالة على رابط موقّع ومؤقت. عند ضغط المستخدم على زر تأكيد البريد الإلكتروني، يتم تنفيذ الخطوات التالية:
- يفتح المستخدم رابط التحقق من تطبيق البريد.
- يتحقق النظام من صحة التوقيع.
- يتحقق من أن الرابط لم تنتهِ صلاحيته.
- يتأكد من أن الرابط يخص المستخدم الصحيح.
- يتم تحديث حالة البريد داخل الحساب.
- تظهر صفحة نجاح واضحة للمستخدم في المتصفح.
بهذا لا يحتاج المستخدم إلى التعامل مع JSON أو روابط API غير مفهومة، ولا يحتاج إلى تسجيل الدخول من جديد داخل المتصفح فقط لتأكيد بريده.
بعد نجاح التحقق، تصبح قيمة:
email_verified_at
موجودة داخل حساب المستخدم، ويمكن للتطبيق السماح له بالوصول إلى العمليات التي تحتاج حساباً مؤكداً.
إعادة إرسال رسالة التحقق
في بعض الحالات، قد لا تصل رسالة التحقق فوراً أو قد تنتهي صلاحية الرابط. لذلك توفر HosteDay مساراً آمناً لإعادة إرسال رسالة التحقق للمستخدم المسجل.
هذه العملية:
- تعمل فقط للمستخدم الذي يملك توكن دخول صالحاً.
- لا تحتاج إلى إرسال البريد يدوياً من التطبيق.
- تنشئ رابط تحقق جديداً ومؤقتاً.
- ترسل الرسالة من نطاق المشروع نفسه.
- تمنع الاستخدام المتكرر عبر Rate Limiting.
بهذا تبقى تجربة المستخدم بسيطة، بينما تبقى عملية الإرسال محكومة ومحمية.
إعادة تعيين كلمة المرور عبر Amazon SES
إعادة تعيين كلمة المرور من أكثر العمليات حساسية في أي تطبيق.
عندما يطلب المستخدم إعادة تعيين كلمة المرور، ينفذ المشروع الخطوات التالية:
المستخدم يطلب إعادة التعيين
↓
يتم إنشاء توكن مؤقت وآمن
↓
يرسل المشروع الطلب إلى بوابة البريد في HosteDay
↓
يتم فحص هوية المشروع وحصته
↓
تُرسل رسالة عبر Amazon SES
↓
يفتح المستخدم رابط إعادة التعيين
↓
يختار كلمة مرور جديدة
الرسالة تحتوي على زر واضح لإعادة تعيين كلمة المرور، ورابط بديل يمكن نسخه إلى المتصفح عند الحاجة.
بعد نجاح إعادة التعيين:
- يتم تحديث كلمة المرور.
- يتم تغيير
remember_token. - يتم إلغاء توكنات Sanctum القديمة.
- لا تبقى جلسات التطبيق القديمة صالحة.
- يستطيع المستخدم تسجيل الدخول بكلمة المرور الجديدة.
هذا يقلل المخاطر في حال تم الوصول إلى كلمة المرور القديمة أو إلى جلسة من جهاز آخر.
حماية API قبل تأكيد البريد الإلكتروني
إنشاء الحساب وحده لا يكفي في كثير من التطبيقات. يجب التأكد أن البريد الإلكتروني حقيقي وأن المستخدم يملك الوصول إليه.
لذلك يمكن لـ HosteDay حماية العمليات الحساسة عبر Middleware مخصص للتحقق من حالة البريد الإلكتروني.
قبل تأكيد البريد، يستطيع المستخدم:
- تسجيل حساب جديد.
- تسجيل الدخول.
- طلب إعادة تعيين كلمة المرور.
- فتح رابط إعادة التعيين.
- إعادة إرسال رسالة التحقق.
- معرفة حالة تأكيد البريد.
- تسجيل الخروج.
أما العمليات الحساسة فتحتاج إلى بريد مؤكد، مثل:
- تعديل الملف الشخصي.
- رفع الملفات.
- حذف الحساب.
- إنشاء أو تعديل أو حذف البيانات.
- استخدام Private Realtime.
- استخدام Presence Channels.
- تنفيذ العمليات الخاصة داخل API.
عند محاولة مستخدم غير مؤكد تنفيذ طلب محمي، يحصل على استجابة واضحة مثل:
{
"success": false,
"message": "Please verify your email address before continuing.",
"data": {
"verified": false,
"email_verified_at": null
}
}
هذا يضيف طبقة حماية مهمة بدون أن يمنع المستخدم من استكمال عملية التحقق أو استعادة حسابه.
إدارة حصة البريد لكل مشروع
Amazon SES يوفر خدمة الإرسال، لكن HosteDay تضيف طبقة إدارة خاصة بكل مشروع وخطة.
قبل إرسال أي رسالة، تتحقق البوابة من:
- هوية الخادم الذي أرسل الطلب.
- المشروع المرتبط بالخادم.
- حالة تفعيل البريد في الخطة.
- الحد اليومي للرسائل.
- الحد الشهري للرسائل.
- الحد المسموح به في الدقيقة.
- عدد المستلمين في الرسالة.
طلب إرسال بريد
↓
التحقق من توكن الخادم
↓
ربط الخادم بالمشروع
↓
فحص خطة المشروع
↓
فحص الحد اليومي والشهري والدقيقة
↓
حجز الاستهلاك
↓
الإرسال عبر Amazon SES
هذه البنية تمنع إساءة استخدام البريد، وتحافظ على استقرار الخدمة، وتسمح بتطبيق حدود مختلفة حسب خطة كل مشروع.
على سبيل المثال، يمكن أن تحتوي كل خطة على إعدادات مثل:
allow_email
email_daily_limit
email_monthly_limit
emails_per_minute
توكن داخلي خاص بكل خادم
كل مشروع يتم إنشاؤه على HosteDay يحصل على توكن داخلي خاص بخادمه.
يستخدم هذا التوكن عند التواصل مع بوابة البريد والخدمات المركزية الأخرى. ولا يتم حفظ التوكن كنص مكشوف داخل قاعدة البيانات.
بدلاً من ذلك، يتم الاحتفاظ بـ:
internal_token_hash
للتحقق من هوية الطلبات، ونسخة مشفرة من التوكن لإعادة إضافته إلى بيئة الحاوية عند إنشاء المشروع أو تحديثه.
هذا يعني أن تحديث المشروع أو إعادة إنشاء الحاوية لا يقطع اتصاله بخدمة البريد، ولا يحتاج إلى إنشاء توكن جديد في كل تحديث.
إنشاء الخادم
↓
إنشاء توكن داخلي واحد
↓
تخزين Hash للتحقق
↓
تخزين نسخة مشفرة لإعادة البناء
↓
إضافة التوكن إلى بيئة الحاوية
↓
استمرار عمل البريد بعد التحديثات
تتبع الرسائل والأحداث
البريد لا ينتهي عند لحظة الإرسال.
تدعم بنية HosteDay تسجيل أحداث الرسائل وربطها بالمشروع الصحيح، مثل:
- قبول الرسالة للإرسال.
- تسليم الرسالة.
- فشل التسليم.
- الارتداد.
- الشكاوى.
- نوع الرسالة، مثل تأكيد البريد أو إعادة تعيين كلمة المرور.
تساعد Configuration Sets في Amazon SES على ربط إعدادات الإرسال ومراقبة سلوك الرسائل، كما يمكن استخدامها مع سياسات التعامل مع الارتدادات والشكاوى.
هذا يفتح المجال مستقبلاً لإظهار تقارير داخل لوحة HosteDay، مثل:
- عدد الرسائل المرسلة لكل مشروع.
- معدل التسليم.
- عدد الرسائل المرتدة.
- عدد الشكاوى.
- أكثر أنواع الرسائل استخداماً.
- استهلاك البريد مقارنة بحدود الخطة.
قوالب بريد احترافية للمستخدم النهائي
لا يكفي أن تصل الرسالة. يجب أن تبدو مناسبة لمنتج احترافي.
لذلك يمكن لكل مشروع على HosteDay استخدام قوالب بريد تشمل:
- رأس يحمل اسم المشروع.
- ألوان وهوية واضحة.
- زر رئيسي واضح للإجراء المطلوب.
- رابط بديل عند عدم عمل الزر.
- تنبيه أمني للمستخدم.
- تصميم مناسب لتطبيقات البريد الشائعة.
- دعم اللغة العربية والاتجاه من اليمين إلى اليسار.
تُستخدم هذه القوالب في رسائل مثل:
تأكيد البريد الإلكتروني
إعادة تعيين كلمة المرور
إشعارات الحساب
رسائل الطلبات
التنبيهات المهمة
لماذا Amazon SES ميزة مهمة لمشاريع HosteDay؟
استخدام Amazon SES داخل HosteDay لا يعني فقط إرسال رسالة بريد. بل يوفر أساساً مناسباً لبناء نظام رسائل معاملاتية منظم وقابل للتوسع.
الميزة العملية للمطور:
- لا حاجة لإعداد SMTP داخل كل مشروع.
- لا حاجة لتخزين مفاتيح Amazon SES داخل تطبيق العميل.
- إرسال مركزي يمكن مراقبته وإدارته.
- ربط الرسائل بالمشروع الصحيح.
- حدود استخدام تعتمد على الخطة.
- قوالب بريد احترافية قابلة للتخصيص.
- بنية جاهزة لتتبع الإرسال والتسليم والارتداد.
والميزة للمستخدم النهائي:
- رسائل تصل من نطاق المشروع.
- رسائل أكثر وضوحاً واحترافية.
- صفحة مخصصة لتأكيد البريد.
- صفحة مخصصة لإعادة تعيين كلمة المرور.
- حماية أفضل للحساب.
- تجربة موثوقة من التسجيل حتى استعادة الحساب.
الخلاصة
تجمع HosteDay بين قوة Amazon SES وبين طبقة إدارة مركزية مصممة للمشاريع المستضافة على المنصة.
بدلاً من أن يضطر كل مشروع إلى إعداد SMTP ومفاتيح AWS ومراقبة الاستهلاك بشكل منفصل، يحصل على نظام بريد موحد لإرسال رسائل تأكيد الحساب وإعادة تعيين كلمة المرور والإشعارات المهمة من نطاقه الخاص.
النتيجة هي:
بريد احترافي
+ إرسال عبر Amazon SES
+ حماية للتوكنات
+ إدارة للحصص
+ رسائل من نطاق المشروع
+ تحقق من البريد قبل العمليات الحساسة
+ تجربة مستخدم أفضل
HosteDay تجعل البريد الإلكتروني جزءاً جاهزاً من بنية مشروعك، وليس مهمة إضافية تحتاج إلى إعداد وصيانة في كل مرة.