Функция get_connection

Функция get_connection применяется для создания или получения объекта подключения к почтовому серверу. Она полезна, когда нужно настроить соединение для отправки писем с определёнными параметрами (например, хост, порт, использование TLS). Функция возвращает объект класса EmailConnection, который затем используется методами отправки. Основные параметры функции:

Синтаксис

pythonfrom django.core.mail import get_connection

connection = get_connection(
  host=None,
  port=None,
  username=None,
  password=None,
  use_tls=None,
  fail_silently=False,
  **kwargs
)

Пример

Получим соединение с пользовательскими настройками SMTP-сервера:

pythonfrom django.core.mail import get_connection

connection = get_connection(
  host='smtp.example.com',
  port=587,
  username='user@example.com',
  password='secret',
  use_tls=True
)
print(connection.host)
print(connection.port)

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

python"smtp.example.com"
"587"

Пример

Используем полученное соединение для отправки письма:

pythonfrom django.core.mail import get_connection, EmailMessage

connection = get_connection(
  host='smtp.example.com',
  port=587,
  username='user@example.com',
  password='secret',
  use_tls=True
)
email = EmailMessage(
  subject='Hello',
  body='Message body',
  from_email='from@example.com',
  to=['to@example.com'],
  connection=connection
)
res = email.send()
print(res)

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

python"1"

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

  • функция send_mail,
    отправляет одно письмо с использованием соединения по умолчанию
  • функция send_mass_mail,
    отправляет массовую рассылку писем с открытием одного соединения
  • класс EmailMessage,
    представляет письмо для отправки через соединение
  • метод send,
    отправляет письмо с использованием переданного соединения