مشكلة بريد SMTP في Net::Timeout

بخصوص المنفذ 465، راجع RFC8314:

استنادًا إلى هذا الـ RFC، يُعد كل من المنفذين 465 و587 منفذين صالحين لوكيل تقديم البريد SMTP (MSA).

يتطلب المنفذ 465 التفاوض على TLS/SSL عند إعداد الاتصال، بينما يستخدم المنفذ 587 STARTTLS إذا اختار المستخدم التفاوض على TLS.

تم تحديث سجل IANA للسماح بالاستخدام المشروع للمنفذ 465 لهذا الغرض.

أما بالنسبة لوكيل إعادة توجيه البريد SMTP، فيُستخدم المنفذ 25 فقط، لذا فإن STARTTLS هو الطريقة الوحيدة لتنفيذ TLS مع إعادة توجيه البريد.

@kyekiller، يُنصح بتجربة هذا الإعداد (ضبطه على false) إذا كنت تنوي استخدام المنفذ 465:

DISCOURSE_SMTP_ENABLE_START_TLS: false

من المحتمل أن عدم التعليق على هذا السطر لن يساعد كثيرًا، حيث أن القيمة الافتراضية لهذا الإعداد في ملفات حاوية Discourse هي true؛ لذا حتى لو قمت بتعليق هذا السطر، سيظل مضبوطًا على true:

#DISCOURSE_SMTP_ENABLE_START_TLS: true    # (اختياري، القيمة الافتراضية true)

نأمل أن يكون ذلك مفيدًا.

انظر أيضًا (من الـ RFC):

عند إنشاء اتصال TCP لخدمة “submissions” (المنفذ الافتراضي 465)، يبدأ مصافحة TLS فورًا. يجب على العملاء تنفيذ آلية التحقق من الشهادات الموصوفة في [RFC7817]. بمجرد إنشاء جلسة TLS، يتم تبادل بيانات بروتوكول تقديم الرسائل [RFC6409] كبيانات تطبيق TLS لبقية اتصال TCP. (ملاحظة: يتم تعريف اسم خدمة “submissions” في القسم 7.3 من هذا المستند ويتبع العرف المعتاد بأن اسم الخدمة المكدسة فوق TLS الضمني يتكون من اسم الخدمة المستخدمة بدون TLS مع إضافة حرف “s” في النهاية.) آلية STARTTLS على المنفذ 587 منتشرة على نطاق واسع نسبيًا بسبب الوضع الخاص بالمنفذ 465 (المناقش في القسم 7.3). يختلف هذا عن خدمات IMAP وPOP حيث يُعد TLS الضمني أكثر انتشارًا على الخوادم مقارنة بـ STARTTLS. يُعد الانتقال التدريجي للبروتوكولات الأساسية المستخدمة في برامج MUA إلى TLS الضمني أمرًا مرغوبًا فيه، وذلك للتوحيد القياسي بالإضافة إلى الأسباب الإضافية المذكورة في الملاحق أ. ومع ذلك، لتعظيم استخدام التشفير لتقديم الرسائل، يُفضل دعم كلتا الآليتين لتقديم الرسائل عبر TLS خلال فترة انتقالية تمتد لعدة سنوات. ونتيجة لذلك، يجب على العملاء والخوادم تنفيذ كل من STARTTLS على المنفذ 587 وTLS الضمني على المنفذ 465 خلال هذه الفترة الانتقالية. تجدر الإشارة إلى أنه لا يوجد فرق كبير بين خصائص الأمان لـ STARTTLS على المنفذ 587 وTLS الضمني على المنفذ 465 إذا كانت التطبيقات صحيحة وإذا كان كل من العميل والخادم مضبوطين على اشتراط التفاوض الناجح على TLS قبل تقديم الرسائل.

ملاحظة: هناك إعدادان افتراضيان يتعلقان بـ TLS من إعدادات Discourse الافتراضية:

# آلية مصادقة smtp
smtp_authentication = plain

# تمكين تشفير TLS لاتصالات smtp
smtp_enable_start_tls = true

# وضع التحقق من شهادات خادم smtp
# لتعطيله، اضبطه على 'none'
smtp_openssl_verify_mode =

# فرض TLS الضمني وفقًا للقسم 3.3 من RFC 8314
smtp_force_tls = false

انظر أيضًا: