Функция get_connection
Функция get_connection применяется для создания или получения
объекта подключения к почтовому серверу. Она полезна, когда нужно
настроить соединение для отправки писем с определёнными параметрами
(например, хост, порт, использование TLS). Функция возвращает объект
класса EmailConnection, который затем используется методами
отправки. Основные параметры функции:
-
host- адрес SMTP-сервера (по умолчанию из настроек); -
port- порт SMTP-сервера (по умолчанию из настроек); -
username- имя пользователя для аутентификации; -
password- пароль пользователя; -
use_tls- флаг использования TLS (по умолчанию из настроек); -
fail_silently- флаг, подавляющий исключения при ошибках.
Синтаксис
from 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-сервера:
from 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)
Результат выполнения кода:
"smtp.example.com"
"587"
Пример
Используем полученное соединение для отправки письма:
from 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)
Результат выполнения кода:
"1"
Смотрите также
-
функция
send_mail,
отправляет одно письмо с использованием соединения по умолчанию -
функция
send_mass_mail,
отправляет массовую рассылку писем с открытием одного соединения -
класс
EmailMessage,
представляет письмо для отправки через соединение -
метод
send,
отправляет письмо с использованием переданного соединения