اذهب إلى المحتوى
  • 0

هل يمكن إرسال رسالة بريد إلكتروني عن طريق بايثون؟

TheProgrammer

السؤال

Recommended Posts

  • 0

نعم، فيمكنك القيام بأي شيء عن طريق لغة بايثون تقريبا.
المكتبة المسؤولة عن إرسال الرسائل في لغة بايثون تدعى بـ 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"
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...