TheProgrammer نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 أريد أن أصنع برنامج يُرسل رسالة معينة في وقت معين، فهل يمكن إرسال رسالة بريد إلكتروني عن طريق لغة بايثون؟ وكيف يمكنني فعل ذلك؟ اقتباس
0 هشام رزق الله نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 نعم، فيمكنك القيام بأي شيء عن طريق لغة بايثون تقريبا.المكتبة المسؤولة عن إرسال الرسائل في لغة بايثون تدعى بـ smtplibوتحتوي على عدد من الدوال التي تحتاجها في عملية إرسال الرسالة، لكن قبل ذلك، يجب عليك أن تحصل على جميع المعلومات التي تحتاجها في الإرسال مثل اسم المستخدم وكلمة المرور والخادم والبريد الإلكتروني للمرسل والمستقبل بالإضافة إلى عنوان الرسالة ومحتواها.هذا مثال بسيط لإرسال رسالة باستخدام مكتبة smtplib:import smtplib fromaddr = 'user_me@gmail.com' toaddrs = 'user_you@gmail.com' msg = 'Why,Oh why!' username = 'user_me@gmail.com' password = 'pwd' server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo() server.starttls() server.login(username,password) server.sendmail(fromaddr, toaddrs, msg) server.quit() وبما أنك ذكرت أنك تريد إنشاء برنامج للإرسال، فيمكنك في هذه الحالة إنشاء دالة للإرسال كما في المثال التالي:def send_email(user, pwd, recipient, subject, body): import smtplib gmail_user = user gmail_pwd = pwd FROM = user TO = recipient if type(recipient) is list else [recipient] SUBJECT = subject TEXT = body # Prepare actual message message = """\From: %s\nTo: %s\nSubject: %s\n\n%s """ % (FROM, ", ".join(TO), SUBJECT, TEXT) try: server = smtplib.SMTP("smtp.gmail.com", 587) server.ehlo() server.starttls() server.login(gmail_user, gmail_pwd) server.sendmail(FROM, TO, message) server.close() print 'successfully sent the mail' except: print "failed to send mail" 1 اقتباس
السؤال
TheProgrammer
أريد أن أصنع برنامج يُرسل رسالة معينة في وقت معين، فهل يمكن إرسال رسالة بريد إلكتروني عن طريق لغة بايثون؟ وكيف يمكنني فعل ذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.