Метод send_message
Метод send_message применяется к объекту
Connection, который представляет собой
открытое SMTP-соединение. Первым параметром
передаётся объект Message с письмом.
Метод отправляет письмо через соединение и
возвращает ответ SMTP-сервера. В отличие от
метода send, он не управляет
соединением и не закрывает его после отправки.
Синтаксис
conn.send_message(message)
Пример
Давайте создадим объект Message и
отправим его через соединение:
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)
with mail.connect() as conn:
msg = Message(
subject='hello',
sender='user@example.com',
recipients=['user@example.com']
)
msg.body = 'article'
res = conn.send_message(msg)
print(res)
Результат выполнения кода:
{}
Пример
Давайте отправим несколько писем через одно соединение:
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)
with mail.connect() as conn:
for addr in ['user@example.com', 'user@example.com']:
msg = Message(
subject='hello',
sender='user@example.com',
recipients=[addr]
)
msg.body = 'article'
res = conn.send_message(msg)
print(res)
Результат выполнения кода:
{}
{}
Смотрите также
-
класс
Connection,
который представляет SMTP-соединение -
метод
send,
который отправляет объект Message через соединение -
метод
connect,
который открывает SMTP-соединение -
метод
send_message,
который отправляет письмо через объект Mail