الخلاصة
- عرّفت RFC 5230 إجراءً في Sieve ينشئ رسالة جديدة إلى مرسل الظرف الأصلي، ويتتبع ما إذا كان ذلك العنوان قد تلقى الرد نفسه خلال فترة معينة.
- لم يكن النص وحده هو المتحكم؛ فأهلية المستلم وهوية الرد وترويسات منع الحلقات والفترة التي يحدها الموقع تحدد من يتلقى الرسالة ومتى.
الغياب قد يؤثر في أشخاص آخرين
تبدو رسالة الغياب بريئة لأنها غالباً قصيرة. لكنها فعل صادر باسم صاحب الحساب من دون سؤاله عن كل مستلم. وقد تكشف أنه غير موجود، أو ترد على قائمة بريدية، أو تدور بين نظامين آليين بلا إشراف. لذلك كان المطلوب قاعدةً تحدد متى يصمت النظام، لا مجرد صياغة مهذبة.
في عام 2008 أضافت RFC 5230 الإجراء vacation إلى Sieve، لغة تصفية البريد المحدودة عمداً. يستطيع البرنامج إعلان أن المستخدم لن يجيب سريعاً، ثم يطلب من المفسر إنشاء رسالة مستقلة. وكان ذلك أول امتداد في Sieve ينشئ رسالة جديدة بالكامل. فالقاعدة لم تعد تفرز البريد إلى مجلد فحسب؛ بل تبدأ اتصالاً خارج الحساب قد يولد رداً آخر.
تذهب الرسالة إلى مرسل ظرف SMTP الأصلي، أي قيمة MAIL FROM التي قد تظهر في Return-Path إذا عالج Sieve البريد بعد تسليمه النهائي، لا إلى حقل From المرئي وحده. ويوصى بأن تستخدم الرسالة المنشأة ظرف إرسال فارغاً. وإذا كان امتداد إشعارات التسليم متاحاً، فينبغي طلب عدم توليد إشعار آخر عند فشل الرد. ويبيّن الحقل Auto-Submitted أن الرسالة آلية. أما التاريخ والمرسل والمستلم وحقول ربط المحادثة، فتصف رداً جديداً بالفعل ولا تجعله يبدو كأنه صادر عن المرسل الأصلي.
عنوان واحد، وردّ محدد، وفترة زمنية
أهم حالة في المواصفة هي ذاكرة الردود السابقة. يحتفظ الامتداد بما أرسله إلى كل عنوان خلال فترة. وإذا كتب الشخص مرة أخرى أثناء الغياب، فلا يلزم أن تصله الرسالة نفسها مع كل محاولة. تحدد :days فترة الكبح. وعند حذفها، يكون الافتراضي الأكبر بين سبعة أيام والحد الأدنى الذي يفرضه الموقع. ويجوز للموقع تحديد حد أدنى موجب وحد أقصى؛ وتُقيد القيم الخارجة عن النطاق بهذين الحدين. لذا لا يضمن الرقم المكتوب في البرنامج أن يكون هو المدة الفعلية.
ليست هذه إشارة عامة تفيد بأن صاحب الحساب «أُبلغ بأنه في إجازة». بل تميّز المواصفة الرد الذي تلقاه كل مرسل. يتيح :handle الصريح تسمية رد واحد بحيث تتشارك عدة أوامر vacation هوية التتبع نفسها. وإذا لم يُستخدم، تتولد الهوية من :subject و:from و:mime ونص السبب. وهكذا يمكن للمستخدم أن يرسل إجابتين مختلفتين بحسب السياق، بينما تتشارك الأوامر ذات المعاملات المتطابقة سجل الكبح. وعند استخدام امتداد المتغيرات، لا يجوز توسيع القيم قبل حساب هوية الرد: المفتاح يعتمد على المعاملات المحددة، لا على قيمة تتغير في كل تشغيل.
تعمل الفترة كقاعدة بيانات صغيرة للسياسة. ومفتاحها هو الزوج: عنوان المرسل وهوية الرد. وهذا يمنع التكرار من دون منع رسالة جديدة في حالة مختلفة. يحدد كاتب البرنامج ما الردود المتكافئة، فيما يحدد المشغل الحد الفعلي لمعدل تكرارها.
يجب أن تكون الرسالة موجهة إلى الغائب نفسه
تشترط RFC 5230 وجود عنوان المستخدم في To أو Cc أو Bcc أو نظائرها من حقول Resent قبل إرسال رد الغياب. ويمكن للخادم التعرف إلى العنوان من سجلات الحساب، أو من مستلم الظرف النهائي، أو من قائمة :addresses يضيفها كاتب البرنامج للأسماء المستعارة. يفيد ذلك من يملكون عناوين متعددة، لكن إعادة التوجيه والعناوين الفرعية قد تجعل القائمة الكاملة مستحيلة.
وتوجد حواجز أخرى ضد الرد على الأنظمة والقوائم. يجب على التنفيذ الاحتفاظ بقائمة عناوين محظورة، وتشجع المواصفة على إدراج أسماء الخدمات الآلية وأدوات إدارة القوائم. وينبغي ألا يرد التنفيذ على الرسائل التي تحمل ترويسات إدارة قوائم، أو التي تحمل قيمة في Auto-Submitted غير no. كما يجوز له كبح رسالة تجعل ترويساتها أو محتوياتها الرد غير مناسب. لكن المواصفة لا تضمن أن يتعرف كل خادم على كل سير عمل آلي؛ فبعض العناوين يحددها التنفيذ، وتعتمد الحماية على ما يمكنه رصده.
سبقت RFC 3834 هذه المواصفة في عام 2004 بتوصيات أوسع للاستجابات الآلية. وتقول RFC 5230 إن vacation صُممت بما يوافق تلك الإرشادات الخاصة بالمستجيب الشخصي. ثم وسعت الأعمال اللاحقة الحدود: أضافت RFC 6131 معامل :seconds، بما في ذلك الصفر لإرسال رد على كل رسالة؛ وبيّنت RFC 6133 دمج الحضور ودفتر العناوين؛ وأتاحت RFC 8580 حفظ نسخة من الرد المنشأ في صندوق البريد. هذه أمثلة على تطور التصميم، لا قياس لمدى انتشار التنفيذ.
الرسالة أكثر من نصها
تعالج المواصفة UTF-8 وMIME، بما في ذلك تضمين بدائل بلغات متعددة. ويمكن للبرنامج اختيار اللغة استناداً إلى الحقول، لكن RFC تحذر من أن الفحص النصي البسيط قد يُضلل. كما تلاحظ أن درجة الرسمية قد تتوقف على ما إذا كان المرسل زميلاً أو غريباً، لا على اللغة وحدها. فاختيار الرد قرار بشأن الجمهور أيضاً.
الإجراء محدود: يجوز استخدامه مرة واحدة في البرنامج، ولا يتوافق مع reject أو refuse، ولا يلغي keep الضمني في Sieve. توضح هذه القيود مكانه في اللغة، لكنها ليست موضوع التحليل العام في RFC 3028 حول اختيار الإجراءات. الإضافة المميزة هنا هي سياسة الرسالة الصادرة الجديدة: مستلمها، وهوية الرد، وترويساتها، والفاصل بين الإرسالين.
تثبت المصادر التصميم، لا أن كل تنفيذ كان آمناً. قد لا يعرف الخادم إن كانت الرسالة موجهة مباشرة إلى المستخدم، أو إن كان الاسم المستعار المحوّل يعود إلى الحساب نفسه. جمعت المواصفة شروطاً قابلة للرصد وذاكرةً محدودة لإحاطة آلية تبدو سهلة لكنها قد تؤذي الآخرين. لم تكن رسالة الغياب جملة محفوظة؛ بل إذناً بالإرسال إلى شخص، لمدة يضبطها الوقت.
المصادر
- RFC 5230 — Sieve Vacation Extension
- سجل RFC 5230 لدى RFC Editor
- تاريخ RFC 5230 لدى Datatracker
- RFC 3834 — Recommendations for Automatic Responses to Electronic Mail
- سجل RFC 3834 لدى RFC Editor
- RFC 5228 — Sieve Email Filtering Language
- RFC 5229 — Sieve Variables Extension
- RFC 6131 — Sieve Vacation Seconds Parameter
- سجل RFC 6131 لدى RFC Editor
- RFC 6133 — Presence Information with Auto-Responder Functionality
- سجل RFC 6133 لدى RFC Editor
- RFC 8580 — Sieve Extension: FCC
- RFC 2142 — Mailbox Names for Common Services, Roles and Functions
- RFC 2919 — List-Id Header Field
- RFC 2369 — URLs as Meta-Syntax for Mail-List Commands
- RFC 3461 — SMTP Service Extension for Delivery Status Notifications
- RFC 5322 — Internet Message Format
- أخطاء RFC 5230
- Heng Lu — أولوية الشيفرة العاملة
- Heng Lu — الحد الأدنى للمواصفة الأولية
- Heng Lu — طبقات الواقع
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
