الخلاصة

  • أتاح RFC 821 للمرسل أن يضع سلسلة مرحّلات قبل صندوق البريد؛ وكان كل مرحّل يحذف اسمه من المسار الأمامي ويضيفه إلى المسار العكسي.
  • اختار RFC 1123 أسماء النطاقات العامة وDNS MX للتسليم المعتاد. ظل على المستقبل قبول الصياغة القديمة، مع إمكان طرح القفزات واستعمال نطاق الصندوق النهائي.
  • يفصل SMTP الحالي بين فهم الصيغة والإذن بالترحيل وتنفيذ الطريق: يجوز للخادم أن يتجاهل المسار أو يرفضه أو يستخدمه عمداً ضمن استثناء محدود.

سلسلة واحدة لا تفرض نتيجة واحدة

يرسل عميل الأمر الآتي:

RCPT TO:<[مرحّل alpha، مرحّل beta]:[صندوق user في نطاق gamma]>

صندوق user في نطاق gamma هو الوجهة المطلقة. أما الاسمان قبل النقطتين فهما طريق اقترحه المرسل. يستطيع الخادم تحليل الجزأين بدقة من دون أن يمنحهما القوة نفسها.

قد يحذف القائمة ويتجه إلى gamma.example. وقد يرفض أن يعمل مرحّلاً. وفي تشخيص مصادق عليه قد يقرر استعمال الآلية القديمة، فيتصل أولاً بـalpha.example. فهمت الخوادم الثلاثة النص نفسه؛ لكن السياسة هي التي قررت هل يتحول النص إلى اتصال شبكي.

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

حين كان الطريق ينتقل من خانة إلى أخرى

عرّف RFC 822 بنية route-addr: طريق اختياري يسبق العنوان المطلق. كان المنشئ يستطيع تسمية المضيفين أو خدمات النقل المراد المرور بها، بينما بقي صندوق البريد كياناً مستقلاً.

حوّل RFC 821 هذا الفصل إلى إجراء في ظرف SMTP. وضع المثال المرحّلين ONE وTWO قبل صندوق JOE في نطاق THREE؛ فكان الصندوق هو الوجهة، وكانت ONE وTWO خط السير.

عندما تصل الرسالة إلى مرحّل مسمى، يزيل الخادم معرّفه من forward-path، ويضعه في مقدمة reverse-path، ثم يتحول إلى مرسل SMTP ويتصل بالمضيف التالي. كانت قائمة العمل المتبقي تقصر، فيما كان طريق محتمل لإرجاع الخطأ يطول.

ومع ذلك، احتفظ المرحّل بحق رفض المهمة. كتابة اسم مضيف لم تكن قط اعتماداً عاماً لاستعماله. كما فصل RFC 821 بين هذه الطرق وحقول الرسالة؛ فلم يلزم أن تظهر في To أو From أو CC. مسار النقل ليس هوية الرسالة التي كتبها المؤلف.

أصبح الاسم النهائي أثبت من خريطة الطريق

في 1989 طلب RFC 1123 من مرسلي SMTP ألا ينشئوا صيغة source route الصريحة. وشرح القرار معمارياً: اختار بريد الإنترنت التسمية العامة بدلاً من source routing. يوفر SMTP الاتصال، ويوفر DNS أسماء عالمية مستقلة عن الموقع، وتعالج سجلات MX الحالة الرئيسية التي كانت تستدعي قائمة مرحّلات.

لم تختف المرحّلات. الذي تغير هو صاحب الاختيار. يحدد المرسل نطاق الوجهة؛ وينشر النطاق مبادلات البريد؛ ثم يطبق كل خادم الإذن والحالة والسياسة الراهنة. يستطيع مدير النطاق تعديل DNS عند تغير الطوبولوجيا من دون أن يطلب من كل مراسل إعادة كتابة المسار المحفوظ.

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

قبول الصياغة مع إسقاط أثرها

لم يحوّل RFC 1123 العنوان القديم إلى خطأ نحوي. كان على المستقبل قبوله. وإذا لم ينفذ خوارزمية الترحيل الأصلية، فعليه أن يحاول الوصول إلى نطاق صندوق البريد النهائي. وفي المثال تُحذف مرحّلتا ALPHA وBETA ويُوجّه صندوق JOE مباشرة إلى نطاق GAMMA.

شدد RFC 2821 الحد الفاصل. يجب أن يتعرف المستقبل على مسار المصدر، لكنه ينبغي أن يزيله ويستخدم نطاق صندوق البريد كأن الطريق لم يرد. ولا يجوز نسخ أسماء المرحّلات إلى reverse-path. رؤية علامات الترقيم القديمة لا تعيد دفتر العودة الذي أنشأه RFC 821.

رفض التحليل قد يكسر عميلاً قديماً أو يخلط الفواصل ببيانات local-part. أما التنفيذ التلقائي فقد يسمح لرمز موروث أن يختار وسيطاً تمنعه السياسة الحالية. الفهم يحفظ التشغيل البيني؛ وعدم الطاعة يحفظ حدود الثقة.

المعيار الحالي يحتفظ باستثناء مضبوط

لا يزال RFC 5321 يضم A-d-l، أي قائمة نطاقات مفصولة بفواصل، إلى قواعد path المعيارية. وتجمع الملاحظة المصاحبة الاتفاق كله: يجب قبول الصيغة، وينبغي ألا تُنشأ، وينبغي تجاهلها.

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

يشير المعيار أيضاً إلى فخ انتقال. اعتمد بعض المرسلين اسماً نهائياً غير صالح في DNS، متوقعين أن يفهمه مرحّل وسيط. عندما يحذف خادم مطابق المسار، تنكشف التبعية ويفشل التسليم. قد تبقى السلسلة صحيحة نحوياً بعد أن تسقط الفرضية التي كانت تجعلها نافعة.

يمكن أن يبرر التصحيح أو عطل خطير مؤقت استعمالاً نادراً. لكن السلطة تأتي حينها من قرار المشغل، لا من قدرة أي عميل على كتابة أسماء مضيفين.

بقيت في الترويسة أحفورة مختلفة

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

وجود route في حقل To قديم لا يثبت مستلمي ظرف SMTP ولا الخوادم التي مرت بها الرسالة. دليل الرحلة يوجد في المعاملة والاتصالات وحقول Received، ولكل منها حدوده.

المصادر وحدود الدليل

يثبت RFC 821 وRFC 822 وRFC 1123 وRFC 2821 وRFC 5321 وRFC 5322 الصياغة والتحول المعياري. ولا تقيس هذه الوثائق انتشارها اليوم أو إعدادات المنتجات أو معدلات الحجب والنجاح.

النتيجة التاريخية محددة: احتفظ SMTP بواجب فهم الطريق القديم، ونزع عنه السلطة الافتراضية لاختيار الطريق الفعلي.