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

Метод attach_alternative

Метод attach_alternative применяется к экземпляру класса EmailMultiAlternatives и позволяет прикрепить к письму альтернативную версию содержимого в формате HTML. Этот метод полезен для отправки писем, которые могут отображаться как в текстовом, так и в HTML-формате, в зависимости от возможностей почтового клиента получателя. Метод принимает два обязательных аргумента: содержание альтернативной версии и MIME-тип содержимого.

Синтаксис

email.attach_alternative(content, mimetype)

Где:

  • content - строка с содержимым альтернативной версии письма
  • mimetype - MIME-тип содержимого (например, "text/html")

Пример

Давайте отправим письмо с текстовой и HTML-версией:

from django.core.mail import EmailMultiAlternatives subject = "Hello from Django" body = "This is plain text version." from_email = "noreply@example.com" to = ["user@example.com"] email = EmailMultiAlternatives(subject, body, from_email, to) html_content = "<p>This is <strong>HTML</strong> version.</p>" email.attach_alternative(html_content, "text/html") res = email.send() print(res)

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

1

Возвращаемое значение 1 означает, что письмо успешно отправлено одному получателю.

Пример

Отправим письмо с HTML-версией, которая содержит ссылку и изображение:

from django.core.mail import EmailMultiAlternatives subject = "Welcome to our site" body = "Welcome! Please visit our website." from_email = "admin@example.com" to = ["new_user@example.com"] email = EmailMultiAlternatives(subject, body, from_email, to) html_content = """ <h1>Welcome!</h1> <p>Please visit our <a href="https://example.com">website</a>.</p> <img src="https://example.com/logo.png" alt="Logo"> """ email.attach_alternative(html_content, "text/html") res = email.send() print(res)

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

1

Письмо будет доставлено с HTML-содержимым, которое почтовый клиент отобразит как веб-страницу.

Пример

Отправим письмо с несколькими альтернативными версиями:

from django.core.mail import EmailMultiAlternatives subject = "Important notification" body = "Plain text notification." from_email = "system@example.com" to = ["user@example.com"] email = EmailMultiAlternatives(subject, body, from_email, to) html_content = "<p><strong>Important</strong> notification.</p>" email.attach_alternative(html_content, "text/html") plain_alternative = "Alternative plain text." email.attach_alternative(plain_alternative, "text/plain") res = email.send() print(res)

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

1

Почтовый клиент выберет наиболее подходящую версию для отображения.

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

  • класс EmailMultiAlternatives,
    который используется для отправки писем с альтернативными версиями
  • метод attach,
    который добавляет вложения к письму
  • функция send_mail,
    которая упрощает отправку простых писем
  • класс EmailMessage,
    который является базовым классом для работы с электронной почтой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить