Атрибут mail_options
Атрибут mail_options применяется к объекту сообщения
Message и представляет собой словарь,
содержащий дополнительные параметры для SMTP-сервера.
Эти параметры передаются в команду sendmail
библиотеки smtplib при отправке письма.
По умолчанию атрибут пуст.
Синтаксис
message.mail_options
Пример
Давайте создадим сообщение и добавим в mail_options
параметр SMTPUTF8 для поддержки UTF-8 в адресах:
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.example.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'user@example.com'
app.config['MAIL_PASSWORD'] = 'password'
mail = Mail(app)
@app.route('/')
def index():
msg = Message(
subject='Тема письма',
sender='user@example.com',
recipients=['recipient@example.com']
)
msg.body = 'Текст письма'
msg.mail_options['SMTPUTF8'] = True
mail.send(msg)
return 'Письмо отправлено'
Результат выполнения кода для адреса /:
"Письмо отправлено"
Пример
Давайте добавим несколько опций в mail_options
для управления поведением SMTP-сервера:
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.example.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'user@example.com'
app.config['MAIL_PASSWORD'] = 'password'
mail = Mail(app)
@app.route('/send')
def send():
msg = Message(
subject='Тема письма',
sender='user@example.com',
recipients=['recipient@example.com']
)
msg.body = 'Текст письма'
msg.mail_options['SMTPUTF8'] = True
msg.mail_options['REQUIRETLS'] = True
mail.send(msg)
return str(msg.mail_options)
Результат выполнения кода для адреса /send:
{'SMTPUTF8': True, 'REQUIRETLS': True}
Смотрите также
-
класс
Message,
который представляет электронное письмо -
атрибут
subject,
который задаёт тему письма -
атрибут
recipients,
который хранит список получателей -
атрибут
sender,
который задаёт отправителя письма