نبذة عن مكتبة smtp
smtp هي مكتبة مدمجة مع بايثون تساعدنا على ارسال رسائل الى أي بريد الالكتروني كان جيميل او هوتميل او ياهو... في درسنا هذا سنقوم ببرمجة سكريبت لارسال رسالة تابع معيالشرح
يلزمنا أولا حساب بريد الكتروني حتى نرسل منه الرسالة, لذلك سيكون شرحنا اولا تسجيل الدخول لحسابك ثم بعدها ارسال الرسالة لبريد الكتروني اخر.أولا قم باستدعاء المكتبة smtp
import smtplibالان نقوم بانشاء متغيرين ونمرر لهما اسم المستخدم وكلمة المرور الخاصة بايميلك
username = 'username'
password = 'password'
ثم قم بانشاء متغيرين لبريد المرسل والمستقبل
sender = 'from@gmail.com'كما تعلمون الرسالة تتكون من الرأس Head ومن Body أي محتوى الرسالة
receivers = 'to@todomain.com'
في 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 بعد انتهاء الاتصال قمنا باغلاقه
هذا هو الكود كاملا
لاحظ تم ارسال الرسالة بنجاح
وصول الرسالة في الايميل المستقبل
محتوى الرسالة
اذا كنت تستخدم جيميل واردت ارسال رسالة بواسطتها عن طريق سكريبت البايثون يجب ان تسمح له بالوصول لحسابك
الطريقة أدخل للموقع
https://myaccount.google.com/lesssecureapps
ثم قم بتمكينها