Функция mail_admins
Функция mail_admins используется для отправки электронных писем
администраторам, указанным в настройке ADMINS.
Она автоматически формирует письмо на основе переданных темы и сообщения,
и отправляет его всем администраторам. Функция использует почтовые
настройки из settings.py, такие как EMAIL_HOST,
EMAIL_PORT и другие.
Параметры функции:
-
subject- тема письма (строка). -
message- тело письма в виде обычного текста (строка). -
fail_silently- логическое значение, определяющее, будут ли подавляться исключения при отправке. По умолчаниюFalse. -
connection- объект почтового соединения. Если не указан, используется соединение по умолчанию. -
html_message- тело письма в формате HTML (строка). Если передан, Django отправит письмо с альтернативной HTML-версией.
Синтаксис
from django.core.mail import mail_admins
mail_admins(subject, message, fail_silently=False, connection=None, html_message=None)
Пример
Отправим простое текстовое письмо администраторам с сообщением о возникновении ошибки на сайте:
from django.core.mail import mail_admins
subject = "Critical error occurred"
message = "An error occurred on the site. Please check the logs."
mail_admins(subject, message)
Пример
Отправим письмо администраторам с HTML-версией сообщения:
from django.core.mail import mail_admins
subject = "New user registered"
message = "A new user has registered on the site."
html_message = "<h1>New user</h1><p>A new user has registered on the site.</p>"
mail_admins(subject, message, html_message=html_message)
Пример
Используем параметр fail_silently, чтобы игнорировать
ошибки отправки и избежать остановки выполнения программы:
from django.core.mail import mail_admins
subject = "Report"
message = "This is a report message."
mail_admins(subject, message, fail_silently=True)
Пример
Отправим письмо администраторам с использованием почтового соединения, которое было предварительно создано вручную:
from django.core.mail import mail_admins, get_connection
connection = get_connection()
subject = "Manual connection test"
message = "This email was sent using a manual connection."
mail_admins(subject, message, connection=connection)
Результат выполнения кода:
"Email sent successfully to all administrators"
Смотрите также
-
функция
send_mail,
которая отправляет одно электронное письмо -
функция
send_mass_mail,
которая отправляет несколько писем за одно соединение -
функция
mail_managers,
которая отправляет письма менеджерам сайта -
функция
get_connection,
которая создает почтовое соединение