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