- unstable 4.31.0-1
| mbox(5) | أدلة المستخدم | mbox(5) |
الاسم¶
mbox - تنسيق لتخزين رسائل البريد.
الوصف¶
يصف هذا المستند التنسيق المستخدم تقليديًا بواسطة مضيفي يونكس لتخزين رسائل البريد محليًا. توجد ملفات mbox عادةً في مخزن بريد النظام، بأسماء متنوعة في أدلة بريد المستخدمين، وتحت الاسم mbox في أدلة منازل المستخدمين.
ملف mbox هو ملف نصي يحتوي على عدد عشوائي من رسائل البريد الإلكتروني. تتكون كل رسالة من علامة بريدية، تليها رسالة بريد إلكتروني منسقة وفقاً لـ RFC822، RFC2822. تنسيق الملف سطري؛ حيث تُفصل الأسطر بمحارف تغذية السطر (ASCII 10).
يتكون سطر ختم البريد من المحارف الأربعة "From"، يتبعها محرف مسافة، يليه عنوان مرسل ظرف الرسالة، تليها مساحة بيضاء، ويتبعها طابع زمني. يُسمى هذا السطر غالبًا سطر From_.
يُتوقع أن يكون عنوان المرسل addr-spec كما هو معرف في RFC2822 3.4.1. ويُتوقع أن يكون التاريخ date-time كما هو ناتج من asctime(3). لأسباب التوافق مع البرمجيات القديمة، يجب تفسير السنوات المكونة من رقمين والتي تساوي 70 أو أكثر على أنها السنوات +1970، بينما السنوات المكونة من رقمين والأقل من 70 يجب تفسيرها على أنها السنوات 2000-2069. البرمجيات التي تقرأ الملفات بهذا التنسيق يجب أن تكون مستعدة أيضًا لقبول معلومات المنطقة الزمنية غير الرقمية مثل "CET DST" لتوقيت وسط أوروبا، التوقيت الصيفي.
مثال:
- >من example@example.com الجمعة 23 يونيو 02:56:55 2000
لتجنب إساءة تفسير الأسطر في متون الرسائل التي تبدأ بالأحرف الأربعة "From"، متبوعة بمسافة، يجب على وكيل تسليم البريد اقتباس أي ظهور لـ "From " في بداية سطر المتن.
هناك خطتا اقتباس مختلفتان، الأولى (MBOXO) تقتبس فقط أسطر "From " الصرفة في المتن عن طريق إضافة '>' في بداية السطر؛ والثانية (MBOXRD) تقتبس أيضًا أسطر "From " المقتبسة بالفعل عن طريق إضافة '>' (أي ">From "، ">>From "، ...). والأخيرة لها ميزة أن أسطرًا مثل
- >من سطر الأوامر يمكنك استخدام الخيار '-p'
لم تُلغَ علامات اقتباسها بشكل خاطئ لأن MBOXRD-MDA سيحول السطر إلى
- >>من سطر الأوامر يمكنك استخدام الخيار '-p'
قبل تخزينها. بالإضافة إلى MBOXO و MBOXRD هناك أيضًا MBOXCL وهو عبارة عن MBOXO مع حقل "Content-Length:" يحتوي على عدد البايتات في متن الرسالة؛ تقوم بعض برامج عملاء البريد (MUA) (مثل mutt(1)) آلياً بتحويل صناديق البريد من النوع MBOXO إلى MBOXCL كلما أعادت كتابتها، حيث يمكن قراءة MBOXCL بواسطة أي عميل بريد يدعم MBOXO دون مشاكل.
إذا كان وقت التعديل (الذي يُحَدَّدُ عادةً عبر stat(2)) لملف mbox غير فارغ أكبر من وقت الوصول، فهذا يعني أن الملف يحتوي على بريد جديد. تضع العديد من برامج بريد المستخدم (MUAs) رأسًا باسم Status: في كل رسالة للإشارة إلى الرسائل التي قُرِئَت بالفعل.
القفل¶
بما أن ملفات mbox يُوصل إليها بشكل متكرر بواسطة برامج متعددة بالتوازي، فينبغي عموماً عدم الوصول إليها دون استخدام آلية القفل (locking).
ثلاث آليات قفل مختلفة (ومزيج منها) قيد الاستخدام العام:
- يُستخدم قفل fcntl(2) غالباً في الأنظمة الحديثة المتوافقة مع معايير POSIX. يُنصح باستخدام طريقة القفل هذه، لا سيما إذا نُفذ إلى ملفات mbox عبر نظام ملفات الشبكة (NFS)، كونها الطريقة الوحيدة الموثوقة لإبطال صلاحية خبيئات عملاء NFS.
- يُستخدم قفل flock(2) غالباً في الأنظمة المبنية على BSD.
- يُستخدم قفل النقاط (Dotlocking) في جميع أنواع الأنظمة. لقفل ملف mbox مسمى folder، يقوم التطبيق أولاً بإنشاء ملف مؤقت باسم فريد في الدليل الذي يوجد فيه folder. ثم يحاول التطبيق استخدام استدعاء النظام link(2) لإنشاء وصلة صلبة تسمى folder.lock للملف المؤقت. يجب التحقق من نجاح استدعاء النظام link(2) بشكل إضافي باستخدام استدعاءات stat(2). إذا نجحت الوصلة، يُعتبر مجلد البريد مقفلاً بالنقطة. يمكن حينئذٍ حذف الوصلة للملف المؤقت بأمان.
- لأجل تحرير القفل، يقوم التطبيق ببساطة بفك ربط ملف folder.lock.
إذا جُمع بين طرق متعددة، فيجب على المبرمجين التأكد من استخدام المتغيرات غير الحاجزة (non-blocking) لنداءات النظام fcntl(2) و flock(2) لتجنب حالات الجمود (deadlocks).
إذا دُمجت عدة طرق، يجب عدم اعتبار ملف mbox قد أُقفل بنجاح قبل الحصول على جميع الأقفال الفردية. عندما تفشل إحدى طرق الإقفال الفردية، يجب على التطبيق تحرير جميع الأقفال التي حصل عليها بنجاح، وإعادة بدء إجراء الإقفال بالكامل من البداية، بعد تأخير مناسب.
آلية القفل المستخدمة في نظام معين هي مسألة سياسة محلية، ويجب استخدامها باتساق من قبل جميع التطبيقات المثبتة على النظام والتي تصل إلى ملفات mbox. الفشل في القيام بذلك قد يؤدي إلى فقدان بيانات البريد الإلكتروني، وتلف ملفات mbox.
الملفات¶
/var/spool/mail/$LOGNAME
$HOME/mbox
$HOME/Mail/
انظر أيضًا¶
mutt(1)، fcntl(2)، flock(2)، link(2)، stat(2)، asctime(3)، maildir(5)، mmdf(5)، RFC822، RFC976، RFC2822
المؤلف¶
Thomas Roessler <roessler@does-not-exist.org>، Urs Janssen <urs@tin.org>
التاريخ¶
ظهرت صيغة
mbox في
الإصدار 6 من
AT&T Unix.
وُثق نوع
مغاير لهذا
التنسيق في
RFC976.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 19 فبراير 2002 | يونكس |