ارائه دهنده خدمات ابری PaaS و DBaaS

flask

برنامه‌های Flask

(Flask Apps)

ارسال ایمیل

برای استفاده از سرویس ایمیل در برنامه‌های Flask باید پس از ایجاد سرویس ایمیل، در ابتدا کتابخانه Flask-Mail را با اجرای دستور زیر نصب کنید.

pip install Flask-Mail

در قدم بعد باید اطلاعات دسترسی SMTP را طبق مستندات تنظیم متغیرها در تنظیمات برنامه اضافه کنید.

MAIL_SERVER=smtp.iran.liara.ir
MAIL_PORT=587
MAIL_USERNAME=my-app
MAIL_PASSWORD=87b9307a-dae9-410e-89a2-e77de60e4885
MAIL_USE_TLS=True
توجه داشته باشید که مقادیر MAIL_USERNAME و MAIL_PASSWORD در هر سرویس ایمیل ایجاد شده متفاوت است بنابراین باید آن‌ها را با مقادیر ارائه شده در تنظیمات سرویس ایمیل‌تان جایگزین کنید.

در نهایت می‌توانید در پروژه‌ی خود مانند مثال زیر عمل کرده و با استفاده از دسترسی SMTP سرویس ایمیل لیارا و تنظیم MAIL_USE_TLS=True، به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.

قابل ذکر است که مقدار from@example.com در قطعه کد زیر باید یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.
from flask import Flask
from flask_mail import Mail, Message
import os

app = Flask(__name__)

app.config['MAIL_SERVER']= os.environ.get('MAIL_SERVER')
app.config['MAIL_PORT'] = os.environ.get('MAIL_PORT')
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')
app.config['MAIL_USE_TLS'] = os.environ.get('MAIL_USE_TLS')
app.config['MAIL_USE_SSL'] = False
mail = Mail(app)

@app.route("/")
def index():
  msg = Message(
    'Mailing with Flask-Mail',
    sender =  ("sender_name", 'from@example.com'),
    recipients = ['destination@host.name'])

  msg.body = "this is from Flask app, lmk if it works"

  mail.send(msg)

  return "Message sent!"

همچنین برای کسب اطلاعات بیشتر در رابطه با نحوه‌ی استفاده از کتابخانه Flask-Mail می‌توانید به مستندات این کتابخانه مراجعه کنید.

متوجه شدم، برو گام بعدی!