Атрибут html
Атрибут html применяется к объекту класса
Message из модуля flask_mail.
В него записывается строка с HTML-разметкой письма.
Если атрибут задан, письмо отправляется как
многочастное: клиент получает и текстовую версию
из атрибута body, и HTML-версию из html.
Синтаксис
message.html = 'html code'
Пример
Давайте создадим письмо и зададим ему 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'] = 25
mail = Mail(app)
with app.app_context():
msg = Message(
subject='hello',
sender='user@example.com',
recipients=['user@example.com']
)
msg.body = 'hello'
msg.html = '<p>hello</p>'
print(msg.html)
Результат выполнения кода:
"<p>hello</p>"
Пример
Давайте передадим HTML-разметку из шаблона Jinja:
from flask import Flask, render_template
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.example.com'
app.config['MAIL_PORT'] = 25
mail = Mail(app)
with app.app_context():
msg = Message(
subject='hello',
sender='user@example.com',
recipients=['user@example.com']
)
msg.body = 'abcde'
msg.html = render_template('mail.html', text='abcde')
print(msg.html)
Файл шаблона:
<p>{{ text }}</p>
Результат выполнения кода:
"<p>abcde</p>"
Смотрите также
-
класс
Message,
который представляет письмо -
атрибут
body,
который задаёт текстовую версию письма -
атрибут
subject,
который задаёт тему письма -
атрибут
recipients,
который задаёт получателей письма