هل يمكن بناء سيرفر بسيط مشابه با لغة PHP ؟
ماهي اﻷدوات التي يجب أن تكون مثبتة في السيرفر ؟
كيف يُمكن بناء خدمة إيميل مثل Gmail أو Outlook ؟
هل تسأل عن بناء مُخدم الرسائل نفسه أم عن واجهة التعامل مع مُخدم الرسائل أم الإثنين معاً؟
فلنفرض أنك تريد تقديم خدمة تقديم خدمات البريد الإلكتروني كـ Gmail بخدمات جاهزة :
فلنفترض أنك إستخدمت خادم إفتراضي VPS ستقوم بتهيئة إحدى توزيعات لينكس ولتكن centos.
بعدها أنت بحاجة لمُخدم للبريد الإلكتروني كـ Postfix مثلاً.- وبحاجة لواجهة للتعامل مع البريد عبر الويب كـ Roundcube مثلاً (يتطلب تهيئة بيئة عمل تطبيقات PHP)
تقوم بتهيئة بعض الإضافات للـ Roundcube ليدعم تغيير الأرقام السرية من داخل الحساب وإضافة إمكانية التسجيل عبر للمستخدمين الجدد.
بهذا أنت الآن تُقدم خدمات البريد الإلكتروني، كما يُمكنك برمجة واجهة خاصة لإدارة البريد بخلاف Roundcube أو تخصيص واجهة بخلاف الإفتراضية.
- كل هذا يتم تهيئته بشكل إفتراضي مع لوحات التحكم كلوحة التحكم centos web panel.
خدمة الايميل تعتمد على بروتوكولات pop3/IMAP و SMTP في الأغلب, اقرأ على هذه البروتوكولات.
بروتوكول SMTP بسيط جدا, و هو Text protocol.
الEmail Server يستقبل الرسائل و يرسلها الى السرفرات الأخرى, و عليك طبعا ان تصمم واجهة للمستخدم لكى يكتب و ينسق رسائله.
نظريا يمكن بالطبع برمجته على الphp, لكنها بطيئة,الأفضل ان تقتصر الphp على واجهة المستخدم, بينما يقوم كود بلغة سى/سى++ بالمهام الأساسية مثل فهرسة و ارسال و استقبال الرسائل.
الجزء السهل هو التعامل مع البروتوكول الخاص بالايميلات بإستخدام مكتبة جاهزة مثل postfix , exim4
الجزء المتوسط هو التعامل مع واحهة المستخدم, يمكنك برمجتها أو شراء واجهات حاهزة
الجزء الصعب هو التعامل مع جحيم ال spam وال open rely والتعامل مع السرفرات الأخرى أحيانا سيكون بدفع المال
digitaloccean بها دروس جيدة لتسطيب المكتبات
خطرت ببالي فكرة الآن بناء على أجابة @فادى . وهو أن نبرمج سكربت في server side يقوم بالتعامل مع الأيميلات و يخزنها في قاعدة بيانات وسيطة ( مع المرفقات إلخ ) .
وتتم برمجة واجهة المستخدم باستخدام PHP او Node.JS لتنظم حسابات المستخدمين و جلب الايميلات من قاعدة البيانات للمستخدم .
وبالنسبة لتحميل الايميلات عبر تطبيقات سطح المكتب بامكانها التواصل مباشر مع السيرفر و برنامج ادارة الايميلات exim4
التعليقات