أحاول حالياً تطوير موقع ويب بلغة بايثون باستخدام flask ، هذا الموقع قد يحتاج أحياناً لإرسال إشعارات إلى المستخدمين عبر البريد الإلكتروني، ما هي أفضل طريقة للقيام بذلك؟
استفسار: ما هو الخيار الأفضل لإرسال البريد الإلكتروني من مواقع الويب؟
أسهل و أفضل طريقة مجانية هي إستخدام بروتوكول smtp حيث إذا كان لديك إستضافة أو حتى بريد إلكتروني من google فهما يوفران بروتوكول smpt من خلالها تستطيع إرسال رسائل من خلال الكود من بريدك الإلكتروني هذا .
إذا أردت إرسال رسالة من خلال gmail مباشرة يمكنك إستخدام مكتبة EZGmail ويمكنك قراءة المقال التالي حول كيفية تحقيق ذلك :
ولكن لو أردت إرسال البريد من خلال أى خادم بواسطة بروتوكول smtp يمكنك تنزيل مكتبة Flask-Mail
pip install Flask-Mail
وإليك الكود الخاص بإرسال رسائل البريد من خلال المكبتة السابقة وتطبيق flask :
from flask import Flask, render_template, request
from flask_mail import Mail, Message
app = Flask(__name__)
# إعدادات البريد الإلكتروني
app.config['MAIL_SERVER'] = 'smtp.gmail.com' # استخدم الخادم الذي تفضله
app.config['MAIL_PORT'] = 465 # المنفذ الافتراضي للبريد المشفر (SSL)
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = 'your-email@gmail.com' # البريد الإلكتروني
app.config['MAIL_PASSWORD'] = 'your-email-password' # كلمة المرور
app.config['MAIL_DEFAULT_SENDER'] = 'your-email@gmail.com'
mail = Mail(app)
@app.route('/send_email')
def send_email():
msg = Message(
'Hello from Flask',
recipients=['recipient@example.com']
)
msg.body = 'This is a test email sent from Flask.'
try:
mail.send(msg)
return 'Email sent successfully!'
except Exception as e:
return f'Failed to send email: {e}'
وهكذا تستطيع إرسال رسائل البريد من خلال توفير خادم smtp الذي توفره الإضافة أو من خلال خادم جوجل مباشرة. وإضافة إسم المستخدم وكلمة المرور .
وإذا أردت كيفية تفعيل كملة المرور الخاصة بالبريد في google يمكنك قراءة الإجابة التالية بالخطوات التي توضح لك كيفية تفعيل جوجل لإرسال رسائل البريد من خلال بروتوكول smtp :
التعليقات