شرح مكتبة smtp كيفية ارسال انبوكس

0
شرح مكتبة smtp كيفية ارسال انبوكس

نبذة عن مكتبة smtp

smtp هي مكتبة مدمجة مع بايثون تساعدنا على ارسال رسائل الى أي بريد الالكتروني كان جيميل او هوتميل او ياهو... في درسنا هذا سنقوم ببرمجة سكريبت لارسال رسالة تابع معي


الشرح

يلزمنا أولا حساب بريد الكتروني حتى نرسل منه الرسالة, لذلك سيكون شرحنا اولا تسجيل الدخول لحسابك ثم بعدها ارسال الرسالة لبريد الكتروني اخر.

أولا قم باستدعاء المكتبة smtp

import smtplib
الان نقوم بانشاء متغيرين ونمرر لهما اسم المستخدم وكلمة المرور الخاصة بايميلك

username = 'username'
password = 'password'

ثم قم بانشاء متغيرين لبريد المرسل والمستقبل

sender = 'from@gmail.com'
receivers = 'to@todomain.com'
كما تعلمون الرسالة تتكون من الرأس Head ومن  Body أي محتوى الرسالة

في Head نحتاج معلومات ضرورية وهي عنوان المرسل senderو المستقبلreceivers وعنوان الرسالة Subject و في Body هو نص محتوى الرسالة,
يعني أن الرسالة هي Head مع  Body
 Head + Body = Message

سنقوم بانشاء متغيرات ثم نمرر لهم القيم المطلوبة

subject = 'Python test mail'
mailContent = """
This is an e-mail message to be sent in HTML format
"""
header = "To: " + receivers + '\n' + 'From: ' + sender + '\n' + 'Subject: ' + subject + '\n'
message = header + mailContent

الان نقوم ببرمجة دالة الاتصال وارسال البريد الالكتروني

try:
   smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
   smtpObj.ehlo()
   smtpObj.starttls()
   smtpObj.login(username, password)
   smtpObj.sendmail(sender, receivers, message)
   smtpObj.close()
   print "Successfully sent email"
except Exception :
   print "Error: unable to send email"


  • smtp.gmail.com', 587 يمثل هوست البريد الالكتروني الخاص بجيمايل و 587 هو البورت

في حالة اردت ارسال بريد من ياهو او غيره سيختلف الهوست والبورت.
  • ehlo  تغنيك على كتابة  الهوست الخاص بجهازك Hostname
  • starttls هو عبارة عن تشفير tls قمنا بتفعيله
  • login استعملناها  للدخول لحسابنا على Gmail
  • sendmaail واضحة تقوم بارسال الرسالة وتحتاج ثلاث مدخلات هي المرسل والمستقبل والرسالة.
  • Close بعد انتهاء الاتصال قمنا باغلاقه

هذا هو الكود كاملا 

شرح مكتبة smtp كيفية ارسال انبوكس

لاحظ تم ارسال الرسالة بنجاح

وصول الرسالة في الايميل المستقبل

محتوى الرسالة

اذا كنت تستخدم جيميل واردت ارسال رسالة بواسطتها عن طريق سكريبت البايثون يجب ان تسمح له بالوصول لحسابك
الطريقة أدخل للموقع

https://myaccount.google.com/lesssecureapps

ثم قم بتمكينها