يتم استخدام بروتوكول نقل البريد البسيط (SMTP) كبروتوكول للتعامل مع نقل البريد الإلكتروني باستخدام Python. يتم استخدامه لتوجيه رسائل البريد الإلكتروني بين خوادم البريد الإلكتروني. إنه بروتوكول طبقة التطبيق الذي يسمح للمستخدمين بإرسال البريد إلى آخر. يقوم المتلقي باسترداد البريد الإلكتروني باستخدام البروتوكولات بوب (بروتوكول مكتب البريد) و IMAP (بروتوكول الوصول إلى الرسائل عبر الإنترنت) .
عندما يستمع الخادم لاتصال TCP من العميل، فإنه يبدأ الاتصال على المنفذ 587.
توفر بايثون أ com.smtplib الوحدة النمطية، التي تحدد كائن جلسة عميل SMTP المستخدم لإرسال رسائل البريد الإلكتروني إلى جهاز الإنترنت. لهذا الغرض، علينا استيراد com.smtplib الوحدة باستخدام بيان الاستيراد.
$ import smtplib
يتم استخدام كائن SMTP لنقل البريد الإلكتروني. يتم استخدام بناء الجملة التالي لإنشاء كائن smtplib.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
يقبل المعلمات التالية.
يتم استخدام طريقة sendmail() لكائن SMTP لإرسال البريد إلى الجهاز المطلوب. ويرد بناء الجملة أدناه.
المشغلين في برمجة بايثون
smtpObj.sendmail(sender, receiver, message)
مثال
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
إرسال البريد الإلكتروني من Gmail
هناك حالات يتم فيها إرسال رسائل البريد الإلكتروني باستخدام خادم Gmail SMTP. في هذه الحالة، يمكننا تمرير Gmail كخادم SMTP بدلاً من استخدام المضيف المحلي بالمنفذ 587.
استخدم بناء الجملة التالي.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
نحتاج هنا إلى تسجيل الدخول إلى حساب Gmail باستخدام اسم مستخدم وكلمة مرور Gmail. لهذا الغرض، يوفر smtplib طريقة تسجيل الدخول () التي تقبل اسم المستخدم وكلمة المرور للمرسل.
قد يؤدي هذا إلى مطالبة Gmail الخاص بك بالوصول إلى التطبيقات الأقل أمانًا إذا كنت تستخدم Gmail. ستحتاج إلى تشغيل هذا مؤقتًا حتى يعمل هذا.
النظر في المثال التالي.
مثال
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
إرسال HTML في البريد الإلكتروني
يمكننا تنسيق HTML في الرسالة عن طريق تحديد إصدار MIME ونوع المحتوى ومجموعة الأحرف لإرسال HTML.
النظر في المثال التالي.
كيفية العثور على التطبيقات المخفية على أندرويد
مثال
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')