سؤال

أواجه مشاكل مع Smtplib ربط برنامجي عند فشل إرسال البريد الإلكتروني، لأنه لم يتم رفع مهلة. لا يحتوي الخادم الذي أستخدمه ولن يكون لديه ثعبان أكبر من 2.4، لذلك لا يمكنني الاستفادة من الوسيطة المهلة إلى منشئ SMTP في الإصدارات الأحدث من Python.

بيثون 2.4. تظهر المستندات أن فئة SMTP لا تحتوي على وسيطة "مهلة":

class SMTP([host[, port[, local_hostname]]])

فكيف أقوم بمحاكاة هذه الوظيفة؟

هل كانت مفيدة؟

المحلول

import socket
socket.setdefaulttimeout(120)

سيجعل أي وقت مأخذ بعد دقيقتين، ما لم يتم تغيير مهلة المقبس المحددة (وأعتقد أن SMTP في Python 2.4 لا يفعل الأخير).

تعديل: على ما يبدو تعليق المرجع هذا يكسر TLS، لذلك، خطة B ...:

ماذا عن الاستيلاء على ملف مصدر Smtplib 2.6 الخاص ب SMTPlib والاقتراع حسب الوحدة النمطية الخاصة بك إلى 2.4؟ لا ينبغي أن يكون من الصعب جدا ... وهل مهلة الدعم نظيفة! -)

يرى هنا...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top