English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

إرسال بريد Flask

تتوفر تطبيقات الويب عادة تحتاج إلى وظيفة إرسال البريد الإلكتروني إلى المستخدم/العميل. يجعل Flask-Mail إعداد واجهة بسيطة لأي خادم بريد إلكتروني.

في البداية، يمكن استخدام Flask-Mail لتوسيع Flask باستخدام أداة pip، كما يلي -

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
pip install Flask-Mail

ثم يجب على إعداد قيمة المتغيرات التالية للتكوين Flask-Mail.

رقمالمتغيراتوصف
1MAIL_SERVERاسم الخادم الخاص بالبريد الإلكتروني/IP
2MAIL_PORTمنفذ الخادم المستخدم
3MAIL_USE_TLSتمكين/تعطيل التشفير عبر طبقة Transport Layer Security
4MAIL_USE_SSLتمكين/تعطيل التشفير عبر طبقة Socket Secure
5MAIL_DEBUGدعم الت调试، الافتراض هو حالة الت调试 التطبيق Flask
6MAIL_USERNAMEاسم المستخدم الخاص بالمرسل
7MAIL_PASSWORDكلمة المرور الخاصة بالمرسل
8MAIL_DEFAULT_SENDERإعداد العنوان الإلكتروني المرسل منه بشكل افتراضي
9MAIL_MAX_EMAILSإعداد عدد أكبر من البريد الإلكتروني الذي يمكن إرساله
10MAIL_SUPPRESS_SENDإذا تم تعيين app.testing على true، يتم منع الإرسال
11MAIL_ASCII_ATTACHMENTSإذا تم تعيينها على true، يتم تحويل اسم الملف المرفق إلى ASCII

تتضمن مكتبة flask-mail تعريفات لفئات مهمة التالية.}}

فئة Mail

إنه يدير متطلبات رسائل البريد الإلكتروني. يتخذ بناءً على شكل التركيب التالي -

رقمطريقةوصف
1send()إرسال محتوى كائن Message
2connect()فتح اتصال مع خادم البريد
3send_message()إرسال كائن الرسالة

فئة Message

إنه يحتوي على بريد إلكتروني، وله كائن Message عدة معطيات -

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, 
    reply-to, date, charset, extra_headers, mail_options, rcpt_options)

أساليب Message

attach() - إضافة مرفق إلى الرسالة. يأخذ هذا الطريقة المعطيات - filename - اسم الملف الذي سيتم إرفاقه content_type - نوع MIME للملف data - بيانات الملف الأصلي disposition - معالجة المحتوى، إذا كان موجودًا.

add_recipient() - إضافة مستلم آخر إلى الرسالة

في هذا المثال، يتم استخدام خادم SMTP لخدمة Gmail من Google كـ MAIL_SERVER في تكوين Flask-Mail.

الخطوة 1 - قم باستورد كلاً من Mail و Message من مكتبة flask-mail.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
من مكتبة flask_mail استورد Mail و Message

الخطوة 2 - ثم قم بتهيئة Flask-Mail بناءً على الإعدادات التالية.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
app.config['MAIL_SERVER']='smtp.gmail.com'
 app.config['MAIL_PORT'] = 465
 app.config['MAIL_USERNAME'] = '[email protected]'
 app.config['MAIL_PASSWORD'] = '*****'
 app.config['MAIL_USE_TLS'] = False
 app.config['MAIL_USE_SSL'] = True

الخطوة 3 - قم بإنشاء مثيل من كائن Mail.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
mail = Mail(app)

الخطوة 4 - قم بتعيين كائن Message في الدالة التي يتم توجيهها من قبل URL (‘/‘).

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
@app.route("/")
 def index():
     msg = Message('Hello', sender='[email protected]', recipients=['[email protected]'])
     msg.body = "هذا هو جسم البريد الإلكتروني"
     mail.send(msg)
     return "Sent"

الخطوة 5 - كامل الكود كما يلي. قم بتشغيل هذا السكربت في بيئة Python Shell واستدعاء URL: http://localhost:5000/.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
من مكتبة flask استورد Flask
 من مكتبة flask_mail استورد Mail و Message
 app = Flask(__name__)
 mail=Mail(app)
 app.config['MAIL_SERVER']='smtp.gmail.com'
 app.config['MAIL_PORT'] = 465
 app.config['MAIL_USERNAME'] = '[email protected]'
 app.config['MAIL_PASSWORD'] = '*****'
 app.config['MAIL_USE_TLS'] = False
 app.config['MAIL_USE_SSL'] = True
 mail = Mail(app)
 @app.route("/")
 def index():
     msg = Message('Hello', sender='[email protected]', recipients=['[email protected]'])
     msg.body = "Hello Flask message sent from Flask-Mail"
     mail.send(msg)
     return "Sent"
 if __name__ == '__main__':
     app.run(debug=True)

يرجى ملاحظة أن الميزات غير الآمنة المدمجة في خدمة Gmail قد تمنع محاولة تسجيل الدخول هذه، قد تحتاج إلى تقليل مستوى الأمان. يرجى تسجيل الدخول إلى حساب Gmail الخاص بك واستخدام  هذا الرابطلتقليل الأمان.