image/svg+xml
FREE PALESTINE

استخدام لغة Python لإرسال بريد إلكتروني _ امثلة بايثون

تتضمن Python العديد من الوحدات النمطية في المكتبة القياسية للعمل مع رسائل البريد الإلكتروني وخوادم البريد الإلكتروني.

نظرة عامة على smtplib

تحدد الوحدة النمطية smtplib كائن جلسة عميل SMTP الذي يمكن استخدامه لإرسال البريد إلى أي جهاز إنترنت باستخدام البرنامج الخفي للمستمع SMTP أو ESMTP.

يرمز SMTP إلى بروتوكول نقل البريد البسيط. تعد وحدات smtplib النمطية مفيدة للاتصال بخوادم البريد لإرسال البريد.

يتم إرسال البريد باستخدام smtplib في Python باستخدام خادم SMTP.

يختلف الاستخدام الفعلي وفقًا لمدى تعقيد البريد الإلكتروني وإعدادات خادم البريد الإلكتروني ، وتستند الإرشادات الواردة هنا إلى إرسال البريد الإلكتروني عبر Gmail.

استخدام smtplib

هذا المثال مأخوذ من هذا بريد على wikibooks.org

"""The first step is to create an SMTP object, each object is used for connection 
with one server."""

import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)

#Next, log in to the server
server.login("youremailusername", "password")

#Send the mail
msg = "
Hello!" # The /n separates the message from the headers
server.sendmail("[email protected]", "[email protected]", msg)
Code language: PHP (php)

لتضمين رؤوس “من” و “إلى” و “موضوع” ، يجب أن نستخدم حزمة البريد الإلكتروني ، نظرًا لأن smtplib لا يعدل المحتويات أو الرؤوس على الإطلاق.

نظرة عامة على حزمة البريد الإلكتروني

تحتوي حزمة البريد الإلكتروني في Python على العديد من الفئات والوظائف لإنشاء رسائل البريد الإلكتروني وتحليلها.

استخدام حزمة البريد الإلكتروني

نبدأ باستيراد الفئات التي نحتاجها فقط ، وهذا يحفظنا أيضًا من الاضطرار إلى استخدام اسم الوحدة الكامل لاحقًا.

from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
Code language: JavaScript (javascript)

ثم نقوم بتكوين بعض رؤوس الرسائل الأساسية:

fromaddr = "[email protected]"
toaddr = "[email protected]"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Python email"
Code language: JavaScript (javascript)

بعد ذلك ، نرفق نص البريد الإلكتروني برسالة MIME:

body = "Python test mail"
msg.attach(MIMEText(body, 'plain'))
Code language: JavaScript (javascript)

لإرسال البريد ، يتعين علينا تحويل الكائن إلى سلسلة ، ثم استخدام نفس prodecure كما هو مذكور أعلاه للإرسال باستخدام خادم SMTP ..

import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login("youremailusername", "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
Code language: JavaScript (javascript)
تحقق من عنوان البريد الإلكتروني

يتضمن بروتوكول SMTP أمرًا يسأل الخادم عما إذا كان العنوان صالحًا أم لا. عادةً ما يتم تعطيل VRFY لمنع مرسلي البريد العشوائي من العثور على عناوين بريد إلكتروني شرعية ، ولكن إذا تم تمكينه ، يمكنك سؤال الخادم عن العنوان وتلقي رمز الحالة الذي يشير إلى الصلاحية مع الاسم الكامل للمستخدم.

هذا المثال مبني على هذا بريد

import smtplib

server = smtplib.SMTP('mail')
server.set_debuglevel(True)  # show communication with the server
try:
    dhellmann_result = server.verify('dhellmann')
    notthere_result = server.verify('notthere')
finally:
    server.quit()

print 'dhellmann:', dhellmann_result
print 'notthere :', notthere_result
Code language: PHP (php)
إرسال رسائل البريد الإلكتروني باستخدام Gmail

هذا المثال مأخوذ من http://rosettacode.org/wiki/Send_an_email#Python

import smtplib
 
def sendemail(from_addr, to_addr_list, cc_addr_list,
              subject, message,
              login, password,
              smtpserver="smtp.gmail.com:587"):
    header="From: %s
" % from_addr
    header += 'To: %s
' % ','.join(to_addr_list)
    header += 'Cc: %s
' % ','.join(cc_addr_list)
    header += 'Subject: %s

' % subject
    message = header + message
 
    server = smtplib.SMTP(smtpserver)
    server.starttls()
    server.login(login,password)
    problems = server.sendmail(from_addr, to_addr_list, message)
    server.quit()
Code language: PHP (php)

مثال على استخدام البرنامج النصي أعلاه


sendemail(from_addr="[email protected]", 
          to_addr_list = ['[email protected]'],
          cc_addr_list = ['[email protected]'], 
          subject="Howdy", 
          message="Howdy from a python function", 
          login        = 'pythonuser', 
          password     = 'XXXXX')
Code language: JavaScript (javascript)

تم استلام عينة من البريد الإلكتروني


sendemail(from_addr="[email protected]", 
          to_addr_list = ['[email protected]'],
          cc_addr_list = ['[email protected]'], 
          subject="Howdy", 
          message="Howdy from a python function", 
          login        = 'pythonuser', 
          password     = 'XXXXX')
Code language: JavaScript (javascript)

مصادر


Python on Wikibooks.org
Rosettacode.org
Docs.python.org
http://docs.python.org/2/library/email.mime.html
Code language: JavaScript (javascript)

لا يوجد اعجابات