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

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

مكتبة smtp في بايثون

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

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

يلزمنا أولا حساب بريد الكتروني حتى نرسل منه الرسالة, لذلك سيكون شرحنا اولا تسجيل الدخول لحسابك ثم بعدها ارسال الرسالة لبريد الكتروني اخر.
  • أولا قم باستدعاء المكتبة smtplib
import smtplib
  • الان نقوم بانشاء متغيرين ونمرر لهما اسم المستخدم وكلمة المرور الخاصة بايميلك
username = 'username'
password = 'password'
  • ثم قم بانشاء متغيرين لبريد المرسل والمستقبل
sender = 'from@gmail.com'
receivers = 'to@todomain.com'
كما تعلمون الرسالة تتكون من الرأس Head ومن Body أي محتوى الرسالة
في Head نحتاج معلومات ضرورية وهي 
  1. عنوان المرسل sender
  2. المستقبل receivers 
  3. عنوان الرسالة Subject 
  4. نص محتوى الرسالة 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 هو البورت
  • في حالة اردت ارسال بريد من ياهو او غيره سيختلف الهوست والبورت.
HOTMAIL
Serveur POP : pop3.live.com (Port 995 avec connexion SSL)
Serveur SMTP : smtp.live.com (Port 25 avec connexion SSL)
Yahoo
smtp.mail.yahoo.fr Port 465

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

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

سورس كود smtp ارسال انبوكس

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

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

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

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


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