РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
469 of 643 menu

Класс Connection

Класс Connection инкапсулирует SMTP-соединение с почтовым сервером. Он создаётся автоматически при вызове методов send и send_message у объекта Mail, но также может быть создан вручную через менеджер контекста для отправки нескольких писем в рамках одного соединения. Основные методы класса: send и send_message.

Синтаксис

with mail.connect() as conn: conn.send(message) conn.send_message(subject, recipients, body)

Пример

Давайте создадим объект Mail и отправим письмо через соединение, полученное методом connect:

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', recipients=['user@example.com'], body='article' ) conn.send(msg)

Результат выполнения кода:

"message 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) with mail.connect() as conn: for recipient in ['a@example.com', 'b@example.com']: msg = Message( subject='hello', recipients=[recipient], body='article' ) conn.send(msg)

Результат выполнения кода:

"2 messages sent"

Пример

Давайте отправим письмо через метод send_message, который принимает тему, получателей и тело письма:

from flask import Flask from flask_mail import Mail 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: conn.send_message( subject='hello', recipients=['user@example.com'], body='abcde' )

Результат выполнения кода:

"message sent"

Смотрите также

  • класс Mail,
    который управляет отправкой почты
  • метод connect,
    который открывает SMTP-соединение
  • метод send,
    который отправляет объект Message
  • метод send_message,
    который отправляет письмо по частям
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить