फ्लास्क - मेल
वेब आधारित एप्लिकेशन के लिए अक्सर उपयोगकर्ताओं / ग्राहकों को मेल भेजने की सुविधा होना आवश्यक है। Flask-Mail विस्तार किसी भी ईमेल सर्वर के साथ एक सरल इंटरफ़ेस सेट करना बहुत आसान बनाता है।
सबसे पहले, पाइप उपयोगिता के मदद से फ्लास्क-मेल एक्सटेंशन स्थापित किया जाना चाहिए।
pip install Flask-Mail
फिर फ्लास्क-मेल को निम्नलिखित एप्लिकेशन मापदंडों के मूल्यों को सेट करके कॉन्फ़िगर करना होगा।
अनु क्रमांक | पैरामीटर और विवरण |
---|---|
1 |
MAIL_SERVER ईमेल सर्वर का नाम / आईपी पता |
2 |
MAIL_PORT उपयोग किए गए सर्वर का पोर्ट नंबर |
3 |
MAIL_USE_TLS सक्षम करें / परिवहन सुरक्षा लेयर एन्क्रिप्शन को अक्षम करें |
4 |
MAIL_USE_SSL सुरक्षित सॉकेट लेयर एन्क्रिप्शन को सक्षम / अक्षम करें |
5 |
MAIL_DEBUG डिबग सपोर्ट। डिफ़ॉल्ट फ्लास्क एप्लिकेशन की डिबग स्थिति है |
6 |
MAIL_USERNAME प्रेषक का उपयोगकर्ता नाम |
7 |
MAIL_PASSWORD भेजने वाले का पासवर्ड |
8 |
MAIL_DEFAULT_SENDER डिफ़ॉल्ट प्रेषक सेट करता है |
9 |
MAIL_MAX_EMAILS भेजे जाने के लिए अधिकतम मेल सेट करता है |
10 |
MAIL_SUPPRESS_SEND दमन भेजा जा रहा है अगर app.testing सच करने के लिए सेट |
1 1 |
MAIL_ASCII_ATTACHMENTS यदि यह सही है, तो संलग्न फाइलनाम ASCII में परिवर्तित हो जाते हैं |
फ्लास्क-मेल मॉड्यूल में निम्नलिखित महत्वपूर्ण वर्गों की परिभाषाएँ हैं।
मेल क्लास
यह ईमेल-मैसेजिंग आवश्यकताओं का प्रबंधन करता है। क्लास कंस्ट्रक्टर निम्न रूप लेता है -
flask-mail.Mail(app = None)
कंस्ट्रक्टर फ्लास्क एप्लिकेशन ऑब्जेक्ट को एक पैरामीटर के रूप में लेता है।
मेल क्लास के तरीके
अनु क्रमांक | तरीके और विवरण |
---|---|
1 |
send() संदेश वर्ग ऑब्जेक्ट की सामग्री भेजता है |
2 |
connect() मेल होस्ट के साथ कनेक्शन खोलता है |
3 |
send_message() संदेश वस्तु भेजता है |
संदेश वर्ग
यह एक ईमेल संदेश को एन्क्रिप्ट करता है। संदेश वर्ग निर्माता के कई पैरामीटर हैं -
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() - संदेश के लिए एक और प्राप्तकर्ता जोड़ता है
निम्नलिखित उदाहरण में, Google की जीमेल सेवा के एसएमटीपी सर्वर का उपयोग फ्लास्क-मेल कॉन्फ़िगरेशन के लिए MAIL_SERVER के रूप में किया जाता है।
Step 1 - कोड में फ्लास्क-मेल मॉड्यूल से मेल और संदेश वर्ग आयात करें।
from flask_mail import Mail, Message
Step 2 - फिर फ्लास्क-मेल निम्नलिखित सेटिंग्स के अनुसार कॉन्फ़िगर किया गया है।
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
Step 3 - मेल क्लास का एक उदाहरण बनाएं।
mail = Mail(app)
Step 4 - URL नियम द्वारा मैप किए गए पायथन फ़ंक्शन में एक संदेश ऑब्जेक्ट सेट करें (‘/’)।
@app.route("/")
def index():
msg = Message('Hello', sender = '[email protected]', recipients = ['[email protected]'])
msg.body = "This is the email body"
mail.send(msg)
return "Sent"
Step 5- पूरा कोड नीचे दिया गया है। पायथन शेल में निम्नलिखित स्क्रिप्ट चलाएँ और जाएँhttp://localhost:5000/.
from flask import Flask
from flask_mail import 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 सेवा में अंतर्निहित असुरक्षा सुविधाएँ इस लॉगिन प्रयास को अवरुद्ध कर सकती हैं। आपको सुरक्षा स्तर घटाना पड़ सकता है। कृपया अपने जीमेल खाते में लॉग इन करें और सुरक्षा को कम करने के लिए इस लिंक पर जाएं ।