نقل محتوى بريد الكتروني من سيرفر الى سيرفر من خلال imapsync

من عرب اندكس

كتبه: محمد الشناق.

احد أهم العقبات التي تقف في وجه اي مدير سيرفر او موظف IT عند تغيير مزود خدمة البريد الالكتروني هو المحتوى الحالي للبريد الالكتروني حيث انه يعتبر مهم ، وهذا الامر يزداد صعوبة عندما يكون هناك اكثر من حساب بريد الكتروني وكل بريد يحتوي على مئات الرسائل او ربما الاف الرسائل في مجلدات البريد الصادر والوارد.

في الكثير من الاحيان عند تغيير مزود خدمة البريد الالكتروني فان مزود خدمة البريد الالكتروني يوفر اداة لعملية نقل الميل من سيرفر الى سيرفر ، مثلا عند نقل حسابات بريد الكتروني من موقع يعمل باستضافة سي بنل Cpanel الى خدمات Google Workspace فان جوجل توفر اداة لعملية نقل البيانات او ما يسمى Data Migration، ولكن كمدراء للسيرفرات فاننا قد نتعرض لصعوبات اخرى او سيناريهوات مختلفة، فمثلا على الرغم من ان سي بنل توفر الية لنقل محتوى حسابات البريد الالكتروني ، لكن عالم التقنية اوسع واشمل من ذلك ففي كثير من الاحيان قد لا نستخدم سي بنل او ربما تكون لوحات التحكم مختلفة بين السيرفر الاول والثاني او ربما نظام التشغيل مختلف تماما  فهل هناك طريقة لنقل محتوى بريد الكتروني او مجموعة حسابات بريد الكتروني من سيرفر الى سيرفر.

تكمن الاجابة في استخدام الاداة imapsync حيث ان هذه الاداة السحرية توفر لك امكانية نقل محتوى حساب بريد الكتروني من سيرفر الى سيرفر بكل بساطة.

ما هي imapsync

imapsync هي أداة تستخدم في نقل محتوى حسابات البريد الإلكتروني بين خوادم البريد الإلكتروني عبر بروتوكول IMAP. تسمح هذه الأداة بنقل البريد الإلكتروني بين مختلف خوادم البريد الإلكتروني مع الحفاظ على البيانات والهيكلية بشكل صحيح. تم برمجة imapsync بواسطة لغة Perl وتعتبر شائعة الاستخدام في البيئات التي تتطلب نقل كميات كبيرة من البريد الإلكتروني بين خوادم مختلفة. تستخدم هذه الأداة غالبا في عمليات نقل المحتوى من خادم بريد إلكتروني إلى آخر لا يدعمان النقل التلقائي فيما بينهما.

مثال على استخدام الاداة imapsync:

imapsync --host1 oldserverip.orhost --user1 user1@example.com --password1 "m@p12c@M32" --host2 newserverip.orhost --user2 user1@examp.com --password2 "m@p12c@M32n" --automap

في المثال السابق استخدامنا اداة imapsync لتقوم بالاتصال بالسيرفر الاول oldserverip.orhost والاتصال بحساب البريد user1@example.com على هذا السيرفر من خلال كلمة المرور ونقل محتوى البريد بالكامل الى السيرفر الثاني newserverip.orhost واضافة المحتوى بداخل حساب البريد الالكتروني user1@examp.com وبالتالي فان الاداة سوف تتكفل بالباقي.

تستطيع اداة imapsync ان تقوم بنقل محتويات حسابات البريد الالكتروني بما في ذلك الرسائل والمرفقات والمجلدات حتى ولكنها لن تقوم بنقل دفتر العناوين او اي اعدادات اخرى. وتستطيع الاداة نقل حسابات البريد الالكتروني حتى تلك الحسابات الضخمه التي تحتوي على مئات الوف الرسائل والعديد من الجيجا بايت من مساحة التخزين ولكن بكل تاكيد فان حجم البيانات المنقولة سوف يلعب دورا في وقت التنفيذ وكذلك سرعة التواصل بين السيرفرات سوف تلعب دورا مهما ايضا في وقت التنفيذ. تجدر الاشارة الى انه:

  • يجب ان يكون السيرفرين الاول والثاني متاحين. ويجب ان يكون الوصول الى حسابات البريد الالكتروني في السيرفر الاول والسيرفر الثاني متاحه عن طريق بروتوكول IMAP لحسابات البريد الالكتروني المنوي النقل منها واليها.
  • يجب ان يكون حساب البريد على السيرفر الثاني مهئيا لاستقبال البيانات بمعنى ان حجم البريد يسمح باضافة الرسائل لانه اثناء النقل في حال امتلئ البريد لانتهاء مساحة التخزين المتاحه فانه يجب رفع مساحة تخزين البريد ومعاودة الامر مرة اخرى (وفي هذه الحالة لا تقلق فان imapsync سوف تبدا بعملية النقل من حيث توقفت وليس من البداية).
  • لا يمكن اعتبار اداة imapsync هي اداة مناسبة لعملية مزامنة محتوى حسابات البريد الالكتروني ، فهي اداة نقل محتوى.
  • لا يمكن نقل عناوين الاتصال او الاجندة من خلال imapsync لان هذه الادوات لا يمكن التعاطي معها من خلال IMAP لهذا في حال الرغبة بنقل دفتر العناوين او جهات الاتصال او الاجندة في حال وجودها هو استخدام ادوات اخرى ك caldavsynchronizer لنقل الاجندة. او تحميل جهات الاتصال كملف csv ومن ثم استيرادها في السيرفر الثاني.

يمكن تحميل الاداة من موقعها الرسمي https://imapsync.lamiral.info.

يمكن الحصول على المساعدة حول imapsync من خلال المنتدي المخصص للنقاش على حساب المشروع على موقع github على الرابط التالي: https://github.com/imapsync/imapsync/discussions

اسئلة واجوبة

هل يمكن نقل محتوى البريد الاليكتروني من حسابات Microsoft 365 الى مزود IMAP اخر؟

نعم ٫ على الرغم من ان الموضوع صعب نوعا ما الا انه ممكن حيث ان هناك مجموعة من الاجراءت للقيام بذلك ، حيث انه يجب انشاء OAUTH2 token لكل حساب ترغب بنقل المحتوى منه ، راجع https://github.com/imapsync/imapsync/discussions/435 للمزيد حول هذا الامر.