Метод email_user
Метод email_user применяется к объекту модели User и отправляет электронное письмо на адрес пользователя. Этот метод является удобной обёрткой над функцией send_mail и автоматически использует настройки электронной почты из конфигурации Django. Метод принимает обязательные параметры - тему и сообщение, а также дополнительные параметры для настройки отправки.
Синтаксис
user.email_user(subject, message, from_email=None, **kwargs)
Параметры метода:
-
subject- тема письма (строка); -
message- тело письма (строка); -
from_email- адрес отправителя (необязательный параметр, по умолчанию используетсяDEFAULT_FROM_EMAIL); -
**kwargs- дополнительные параметры, которые передаются в функциюsend_mail(например,fail_silently,html_messageи другие).
Пример
Отправим простое текстовое письмо пользователю с уведомлением о регистрации:
from django.contrib.auth.models import User
# Получаем пользователя
user = User.objects.get(username='john_doe')
# Отправляем письмо
user.email_user(
subject='Welcome to our site!',
message='Thank you for registering on our platform.'
)
Результат выполнения кода:
"Email sent successfully"
Пример
Отправим письмо с указанием адреса отправителя и с поддержкой HTML-формата:
from django.contrib.auth.models import User
# Получаем пользователя
user = User.objects.get(email='user@example.com')
# Отправляем HTML-письмо
user.email_user(
subject='Password reset',
message='Plain text message',
from_email='admin@mysite.com',
html_message='<strong>Click here</strong> to reset your password'
)
Результат выполнения кода:
"HTML email sent successfully"
Пример
Отправим письмо с использованием дополнительного параметра для подавления исключений:
from django.contrib.auth.models import User
# Получаем пользователя
user = User.objects.get(username='jane_smith')
# Отправляем письмо с подавлением исключений
user.email_user(
subject='Important notification',
message='Your account has been updated.',
fail_silently=True
)
Результат выполнения кода:
"Email sent or failed silently"
Смотрите также
-
метод
set_password,
который устанавливает новый пароль пользователя -
метод
check_password,
который проверяет соответствие пароля пользователя -
метод
has_perm,
который проверяет наличие разрешения у пользователя -
метод
create_user,
который создаёт нового пользователя