mmdf(5)

الاسم
MMDF - تنسيق صندوق بريد مرافق توزيع المذكرات متعددة القنوات

الوصف
يصف هذا المستند تنسيق صندوق البريد MMDF المستخدم من قبل بعض MTAs و MUAs (أي scomail(1)) لتخزين رسائل البريد محليًا.

صندوق بريد MMDF هو ملف نصي يحتوي على عدد عشوائي من رسائل البريد الإلكتروني. تتكون كل رسالة من علامة بريدية، تليها رسالة بريد إلكتروني منسقة وفقاً لـ RFC822 / RFC2822، تليها علامة بريدية. تنسيق الملف سطري؛ حيث تُفصل الأسطر بمحارف تغذية السطر (ASCII 10). يتكون سطر العلامة البريدية من المحارف الأربعة "^A^A^A^A" (Control-A; ASCII 1).

مثال على صندوق بريد MMDF يحتوي على رسالتين:

    ^A^A^A^A
    من: example@example.com
    To: example@example.org
    الموضوع: اختبار

    >مما تعلمته عن تنسيق MMDF:
    ^A^A^A^A
    ^A^A^A^A
    من: example@example.com
    To: example@example.org
    الموضوع: اختبار 2

    bar
    ^A^A^A^A

على عكس معظم تنسيقات صناديق البريد ذات الملف الواحد الأخرى مثل MBOXO و MBOXRD (راجع mbox(5))، ليست هناك حاجة لاقتباس/إلغاء اقتباس أسطر "From " في صناديق بريد MMDF لأن هذه الأسطر ليس لها معنى خاص في هذا التنسيق.

إذا كان وقت التعديل (الذي يُحَدَّد عادةً عبر stat(2)) لملف صندوق بريد غير فارغ أكبر من وقت الوصول، فهذا يعني أن الملف يحتوي على بريد جديد. تضع العديد من برامج بريد المستخدم (MUAs) رأسًا باسم Status: في كل رسالة للإشارة إلى الرسائل التي قُرِئَت بالفعل.

القفل
بما أن ملفات MMDF تُوصَل إليها بشكل متكرر بواسطة برامج متعددة بالتوازي، فينبغي عموماً عدم الوصول إليها دون استخدام آلية القفل (locking).

ثلاث آليات قفل مختلفة (ومزيج منها) قيد الاستخدام العام:

•   يُستخدم قفل fcntl(2) غالباً في الأنظمة الحديثة المتوافقة مع معايير POSIX. يُنصح باستخدام طريقة القفل هذه، لا سيما إذا نُفذ إلى ملفات MMDF عبر نظام ملفات الشبكة (NFS)، كونها الطريقة الوحيدة الموثوقة لإبطال صلاحية خبيئات عملاء NFS.

•   يُستخدم قفل flock(2) غالباً في الأنظمة المبنية على BSD.

•   يُستخدم قفل النقاط (Dotlocking) في جميع أنواع الأنظمة. لقفل ملف MMDF مسمى folder، يقوم التطبيق أولاً بإنشاء ملف مؤقت باسم فريد في الدليل الذي يوجد فيه folder. ثم يحاول التطبيق استخدام استدعاء النظام link(2) لإنشاء وصلة صلبة تسمى folder.lock للملف المؤقت. يجب التحقق من نجاح استدعاء النظام link(2) بشكل إضافي باستخدام استدعاءات stat(2). إذا نجحت الوصلة، يُعتبر مجلد البريد مقفلاً بالنقطة. يمكن حينئذٍ حذف الوصلة للملف المؤقت بأمان.

    لأجل تحرير القفل، يقوم التطبيق ببساطة بفك ربط ملف folder.lock.

إذا جُمع بين طرق متعددة، فيجب على المبرمجين التأكد من استخدام المتغيرات غير الحاجزة (non-blocking) لنداءات النظام fcntl(2) و flock(2) لتجنب حالات الجمود (deadlocks).

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

آلية القفل المستخدمة في نظام معين هي مسألة سياسة محلية، ويجب استخدامها باتساق من قبل جميع التطبيقات المثبتة على النظام والتي تصل إلى ملفات MMDF. الفشل في القيام بذلك قد يؤدي إلى فقدان بيانات البريد الإلكتروني، وتلف ملفات MMDF.

متوافق مع
MMDF ليس جزءًا من أي معيار مدعوم حاليًا.

التاريخ
طوّر ديف كروكر MMDF في جامعة ديلاوير.

انظر أيضًا
scomail(1)، fcntl(2)، flock(2)، link(2)، stat(2)، mbox(5)، RFC822، RFC2822

المؤلف
Urs Janssen <urs@tin.org>

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.