الخلاصة

  • حددت RFC 6154، المنشورة في مارس 2011، سمات اختيارية تظهر في رد IMAP LIST. يستطيع التطبيق البحث عن \Sent أو \Drafts أو \Trash مهما كان الاسم المعروض للمستخدم.
  • تشير \Sent إلى وظيفة، وقد يحفظ الخادم نسخ الرسائل المرسلة فيها تلقائياً أو يكتفي بإرشاد التطبيق إلى حفظها. قد يحمل مجلد أكثر من سمة، وقد تحمل عدة مجلدات السمة نفسها.
  • يعلن LIST الموسع قدرة SPECIAL-USE، وقد يسمح الخادم بطلب وظيفة عند الإنشاء أو تعديلها عبر METADATA، وله رفض ما لا يستطيع تنفيذه. يحفظ سجل IANA أسماء السمات ومراجعها.

اسم المجلد لم يكن عقد تشغيل

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

ذكرت إرشادات IMAP لعام 1999 أسماء مألوفة مثل «Sent Mail» و«Trash». الاتفاق على أسماء شائعة يفيد البشر، لكنه لا يحدد سلوك برنامج. قد يُعرض الاسم بلغة مختلفة، وقد يغيره المستخدم، ولا يخبرنا الاسم إن كان الخادم يملأ المجلد أو التطبيق. كان العميل يستخرج قرار التخزين من لوحة على الباب.

وضعت RFC 6154 الوظيفة داخل رد LIST. عرّفت سبع سمات أولية: \All و\Archive و\Drafts و\Flagged و\Junk و\Sent و\Trash. يستطيع الخادم إرجاعها مع سمات المجلد الأخرى. يمكن أن يظل اسم المجلد مناسباً لصاحبه، بينما يحصل التطبيق على إشارة موحدة عن العمل المتوقع منه.

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

السمة لا تضع رسالة في المجلد

توضح RFC 6154 صورتين لـ\Sent. بعض الخوادم يضع نسخ الرسائل الخارجة في المجلد تلقائياً. عند غيره تكون السمة نصيحة للتطبيق: احفظ نسختك هنا. إذا انتظر التطبيق خادماً لا يحفظ، بقي المجلد فارغاً؛ وإذا حفظ نسخة مع خادم يحفظ، ظهرت نسختان محتملتان. العلامة تحدد الموضع المقصود، أما تسلسل الأفعال فيكشف من نفذ النقل.

بقية الأسماء ليست أوامر متماثلة. قد يكون \All منظراً افتراضياً للرسائل ويستثني \Trash أو \Junk. معنى \Archive العملي يتوقف على الخادم. وقد يكون \Drafts عرضاً افتراضياً للمسودات أو عنواناً ينصح التطبيق بالحفظ فيه. \Trash يتصل بطريقة حذف الخادم أو بخيار تطبيق لا يعتمد مباشرة على علم IMAP \Deleted. توحيد الاسم مكّن التطبيقات من السؤال عن الدور؛ لم يوحد آلات حفظ البريد كلها.

يمكن أن يخلو المجلد من سمة خاصة، أو يحمل واحدة أو أكثر. ويمكن لمجلدين أن يحملا \Sent معاً. الوظائف غالباً خاصة بالمستخدم؛ اشتراك شخصين في مجلد مادي لا يعني أنه صندوق المرسلات لكليهما. افتراض وجود وجهة واحدة دائماً يعيد عادة التخمين القديمة ولو استعمل نصاً معيارياً.

يسجل جدول IANA لسمات مجلدات IMAP الكلمات المشتركة ووثائقها. لا يسجل الرسائل ولا من حفظ كل نسخة. وجود Sent في الجدول يثبت معنى العلامة، بينما يثبت محتوى صندوق البريد ما فعله النظام بالفعل.

يستطيع الخادم أن يرفض الطلب

استندت الآلية إلى إطار LIST الموسع. الخادم الذي يدعم صورته الموسعة يعلن SPECIAL-USE في CAPABILITY. يستطيع التطبيق طلب المجلدات ذات السمات الخاصة فقط، أو طلب إظهار السمات في الرد؛ طلب الاختيار يتضمن طلب الإظهار. ويمكن لخادم أيضاً وضع السمات في LIST العادي من دون سلسلة قدرة منفصلة لهذه الصورة. قراءة تبادل الشبكة كله أدق من البحث عن كلمة واحدة في الإعلان.

وفرت RFC 6154 وسيط USE اختيارياً لأمر CREATE. يمكن للتطبيق أن يطلب إنشاء مجلد بوظيفة معينة حين يعلن الخادم CREATE-SPECIAL-USE. قد يرفض الخادم تعارضاً، أو ينقل الوظيفة من مجلد قديم، أو يجيز وجود مجلدين بالوظيفة نفسها. إن عجز عن إنشاء المجلد بالوظيفة المطلوبة، يجب أن يرفض العملية ولا ينشئ المجلد. رغبة التطبيق ليست دليلاً على نجاح الإعداد.

عند دعم IMAP METADATA يمكن للإدخال /private/specialuse وصف وظائف المجلدات القائمة وربما تعديلها. على الخادم التحقق من التعديل وفق قواعده؛ فلا يقبل سمة لا يدعمها لمجرد أن تطبيقاً أرسلها. تغيير اسم المجلد، وتغيير دوره، ونقل رسالة إليه ثلاثة أفعال ذات أدلة مختلفة.

قد تتحول السمة إلى مفتاح لأثر تلقائي. تضرب RFC 6154 مثال \Junk: إذا نقل الخادم البريد المصنف مزعجاً إلى مجلد بهذه السمة، والسماح بتعيينها لمجلد مشترك قد يكشف للآخرين رسائل عادية أخطأ المصنف فيها. العلامة عندئذ ليست زينة؛ قرار قبولها يغير من يرى البريد.

تحدد المواصفة طرق إعلان الأدوار وطلبها، ولا تحدد أين انتهت نسخة رسالة في حساب بعينه. يلزم رد CAPABILITY وLIST مؤرخ، وأي تبادل CREATE أو METADATA، ثم موضع النسخة الفعلي. الاسم المكتوب على المجلد أضعف هذه الأدلة.