تقني · إجابة موثَّقة المصادر
مصادقة SMTP: التعريف والتنفيذ التقني
مصادقة SMTP آلية أمان تشترط على برنامج البريد أو التطبيق إثبات هويته لخادم SMTP قبل السماح له بإرسال البريد. وهي تمنع الترحيل المفتوح بضمان أن المستخدمين المخوّلين وحدهم يستطيعون توجيه الرسائل عبر الخادم، وتستخدم عادةً اسم مستخدم وكلمة مرور عبر امتداد AUTH.
آلية العملية
تبدأ العملية باتصال العميل بالخادم وإصداره الأمر EHLO. يردّ الخادم بقائمة الامتدادات المدعومة، ومنها AUTH. ثم يختار العميل آلية مصادقة مثل PLAIN أو LOGIN ويرسل بيانات الاعتماد. وإذا تحقق الخادم من هذه البيانات مقابل قاعدة بيانات المستخدمين لديه، فإنه يمنح العميل إذن إرسال الأمرين MAIL FROM وRCPT TO.
أهميته للمُرسِلين
بدون المصادقة يعمل الخادم كمرحِّل مفتوح، فيسمح لأي شخص بإرسال البريد. يؤدي ذلك إلى إدراج عنوان IP سريعًا في القوائم السوداء مع استغلال مرسِلي البريد المزعج للمنفذ المفتوح. ويضمن تنفيذ مصادقة SMTP أن التطبيقات المشروعة وحدها تستطيع إرسال البريد، وهو شرط أساسي للحفاظ على سمعة مُرسِل نظيفة وضمان عدم رفض الرسائل من الخوادم المستلِمة.
ملاحظات وأخطاء تشغيلية
من الأخطاء الشائعة إرسال بيانات الاعتماد عبر اتصالات غير مشفّرة. ولمنع سرقة بيانات الاعتماد، ينبغي دائمًا اقتران المصادقة بـ STARTTLS أو TLS الضمني. ومن المشكلات المتكررة الأخرى استخدام طرق مصادقة قديمة لا يدعمها المزوّدون الحديثون. يمكن للمطوّرين استخدام أدوات SendHQ المجانية (https://sendhq.cc/tools) للتحقق من إعدادات DNS والمصادقة لديهم.
مثال تطبيقي ملموس
في تنفيذ Python نموذجي باستخدام smtplib، يتصل المطوّر بالمنفذ 587، ويستدعي starttls() لتأمين الاتصال، ثم يستدعي login(user, password). يضمن هذا التسلسل التحقق من الهوية عبر قناة مشفّرة قبل أن يقبل الخادم الرسالة لتسليمها إلى وجهتها النهائية.
طرق المصادقة
أشهر الطرق هي PLAIN التي ترسل كلمة المرور بصيغة شبيهة بالنص الصريح (Base64)، وLOGIN وهي طريقة قديمة تستخدمها برامج أقدم. وتفضّل الأنظمة الحديثة غالبًا OAuth2 لمصادقة SMTP، إذ يتيح للتطبيقات استخدام الرموز المميّزة (tokens) بدل كلمات المرور الثابتة، مما يقلل خطر انكشاف بيانات الاعتماد في ملفات الإعداد.
أسئلة تطرحها الفرق
هل مصادقة SMTP هي نفسها SPF أو DKIM؟
لا. تتحقق مصادقة SMTP من العميل أمام الخادم أثناء عملية الإرسال. أما SPF وDKIM فيتحققان من المُرسِل أمام الخادم المستلِم بعد إرسال البريد.
أي منفذ يُستخدم عادةً لـ SMTP المصادَق عليه؟
المنفذ 587 هو المعيار لتقديم البريد مع المصادقة وSTARTTLS، بينما يُستخدم المنفذ 465 لـ TLS الضمني.
ماذا يحدث إذا فشلت مصادقة SMTP؟
يعيد الخادم رمز الخطأ 535 Authentication Failed ويرفض الرسالة، فلا تُوضع في الطابور ولا تُسلَّم.