Класс Message
Класс Message применяется для создания
объекта электронного письма перед его отправкой.
Первым параметром передаётся тема письма, вторым -
список получателей, третьим - тело письма.
Дополнительные параметры, такие как отправитель,
копия, вложения и другие, задаются через атрибуты
объекта или именованные аргументы конструктора.
Синтаксис
from flask_mail import Message
msg = Message(subject, recipients, body, html, sender, cc, bcc, attachments)
Пример
Давайте создадим простое письмо с темой и одним получателем:
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('Hello', recipients=['user@example.com'])
msg.body = 'article'
mail.send(msg)
return 'sent'
Результат выполнения кода:
"sent"
Пример
Давайте создадим письмо с HTML-телом и отправителем:
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(
'Hello',
sender='sender@example.com',
recipients=['user@example.com']
)
msg.body = 'article'
msg.html = '<p>article</p>'
mail.send(msg)
return 'sent'
Результат выполнения кода:
"sent"
Пример
Давайте добавим в письмо копию и скрытую копию:
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('Hello', recipients=['user@example.com'])
msg.body = 'article'
msg.cc = ['cc@example.com']
msg.bcc = ['bcc@example.com']
mail.send(msg)
return 'sent'
Результат выполнения кода:
"sent"
Смотрите также
-
метод
attach,
который прикрепляет файл к письму -
метод
add_recipient,
который добавляет получателя к письму -
атрибут
subject,
который хранит тему письма -
атрибут
recipients,
который хранит список получателей письма