سؤال

أحتاج إلى إرسال بريد إلكتروني في Linux Delbian. كيف ترسل؟ قمت بتشغيل الخادم الخاص بي على مربع Linux 256 ميغابايت وسمعت postfix وسيلميل هو مبالغة.

جاءت مؤخرا عبر SSMTP، يبدو أن هذا قابل للتنفيذ، يحتاج إلى تنفيذ كعملية ويسمى من خلال Python باستخدام وحدات OS.

بدلا من ذلك، يوفر Python بالفعل Smtplib وهو يعمل بشكل جيد معي.

ما هي ميزة استخدام SSMP على Python's Smtplib؟

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

المحلول

في برنامج بيثون، لا توجد ميزة.

الغرض الوحيد من SSMP هو لف بروتوكول SMTP في API SendMail. وهذا هو، إنه يوفر برنامج /usr/sbin/sendmail يقبل هذا الخيارات والحجج والمدخلات نفسها باعتبارها SendMail الكامل (على الرغم من أن معظم الخيارات لا تفعل شيئا)؛ ولكن وراء الكواليس، بدلا من معالجة البريد الإلكتروني نفسه، فإنه يرسل الرسالة إلى خادم SMTP. هذا هو بالنسبة للأنظمة التي تحتاج إلى الحصول على sendmail الحاضر البرنامج، ربما لأنهم لا يفهمون SMTP - على سبيل المثال، أعتقد أن الإصدارات القديمة من PHP لديها هذا الشرط، وحتى في الإصدارات الحديثة، لا يزال من السهل تكوين PHP لاستخدام واجهة SendMail المزعومة (أي البرنامج sendmail) من استخدام SMTP مباشرة. (لم أستخدم PHP في بعض الوقت، لست متأكدا من الوضع الحالي)

ومع ذلك، في Python، يتم عكس الوضع: لديك مكتبة مدمجة تجعل من السهل استخدام SMTP مباشرة، في حين أن تستخدم sendmail يتطلب منك استدعاء subprocess الوحدة النمطية إلى حد ما وتعتمد أيضا على الأشياء التي ليست جزءا من الثعبان. لذلك في الأساس لا يوجد سبب لعدم استخدامه smtplib.

نصائح أخرى

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

هناك مرسلون SMTP خفيف الوزن، مثل MSMTP., ، واحد أفضل.

لكن postfix على ما يرام لآلة 256 ميغابايت. الشيء الجيد حول MTA الكامل مثل postfix هو أنه يحتفظ بالرسالة وإعادة المحاولة إذا كان الخادم الوجهة لأسفل. مع smtplib والخادم على جهاز بعيد، يعتمد برنامجك الآن على الشبكة ...

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