English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تتوفر تطبيقات الويب عادة تحتاج إلى وظيفة إرسال البريد الإلكتروني إلى المستخدم/العميل. يجعل Flask-Mail إعداد واجهة بسيطة لأي خادم بريد إلكتروني.
في البداية، يمكن استخدام Flask-Mail لتوسيع Flask باستخدام أداة pip، كما يلي -
# اسم الملف: example.py # حقوق النشر: 2020 بواسطة w3codebox # مؤلف: ar.oldtoolbag.com # تاريخ: 2020-08-08 pip install Flask-Mail
ثم يجب على إعداد قيمة المتغيرات التالية للتكوين Flask-Mail.
رقم | المتغيرات | وصف |
1 | MAIL_SERVER | اسم الخادم الخاص بالبريد الإلكتروني/IP |
2 | MAIL_PORT | منفذ الخادم المستخدم |
3 | MAIL_USE_TLS | تمكين/تعطيل التشفير عبر طبقة Transport Layer Security |
4 | MAIL_USE_SSL | تمكين/تعطيل التشفير عبر طبقة Socket Secure |
5 | MAIL_DEBUG | دعم الت调试، الافتراض هو حالة الت调试 التطبيق Flask |
6 | MAIL_USERNAME | اسم المستخدم الخاص بالمرسل |
7 | MAIL_PASSWORD | كلمة المرور الخاصة بالمرسل |
8 | MAIL_DEFAULT_SENDER | إعداد العنوان الإلكتروني المرسل منه بشكل افتراضي |
9 | MAIL_MAX_EMAILS | إعداد عدد أكبر من البريد الإلكتروني الذي يمكن إرساله |
10 | MAIL_SUPPRESS_SEND | إذا تم تعيين app.testing على true، يتم منع الإرسال |
11 | MAIL_ASCII_ATTACHMENTS | إذا تم تعيينها على true، يتم تحويل اسم الملف المرفق إلى ASCII |
تتضمن مكتبة flask-mail تعريفات لفئات مهمة التالية.}}
إنه يدير متطلبات رسائل البريد الإلكتروني. يتخذ بناءً على شكل التركيب التالي -
رقم | طريقة | وصف |
1 | send() | إرسال محتوى كائن Message |
2 | connect() | فتح اتصال مع خادم البريد |
3 | send_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)
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 الخاص بك واستخدام هذا الرابطلتقليل الأمان.