flask

پلتفرم Flask

(Flask Platform)

ارسال ایمیل

در صورتی که تمایلی به خواندن آموزش متنی ندارید می‌توانید ویدیوی آموزشی زیر ‌را مشاهده کنید.

پروژه و کدهای مورد استفاده در ویدیوی فوق در اینجا قابل مشاهده و دسترسی هستند.

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

pip install Flask-Mail

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

MAIL_SERVER=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USERNAME=YOUR_USERNAME
MAIL_PASSWORD=YOUR_PASSWORD
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.getenv('MAIL_SERVER')
app.config['MAIL_PORT'] = int(os.getenv('MAIL_PORT'))
app.config['MAIL_USERNAME'] = os.getenv('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.getenv('MAIL_PASSWORD')
app.config['MAIL_USE_TLS'] = os.getenv('MAIL_USE_TLS') == 'True'
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 می‌توانید به مستندات این کتابخانه مراجعه کنید.

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