Nano Hash - криптовалюты, майнинг, программирование

Создайте электронное письмо в django с телом HTML и включите вложение

Могу ли я отправить документ в формате html в качестве тела сообщения электронной почты и включить вложение?

В send_mail() есть опция для html_message, а в классе EmailMessage — нет.

Насколько я понимаю, для отправки вложения мне нужно использовать класс EmailMessage для использования метода attach_file.

Я что-то пропустил? Я думал, что send_mail() использует класс EmailMessage, так почему же эти две функции кажутся взаимоисключающими?

03.01.2017

Ответы:


1

Проверьте EmailMultiAlternatives, у него есть функция прикрепить которые вы можете использовать для этой цели.

Вот пример того, как его использовать:

from django.core.mail import EmailMultiAlternatives

    subject         = request.POST.get('subject', '')
    message         = request.POST.get('message', '').encode("utf-8")

    # Create an e-mail
    email_message   = EmailMultiAlternatives(
        subject=subject,
        body=message,
        from_email=conn.username,
        to=recipents,
        bcc=bcc_recipents,  # ['[email protected]'],
        cc=cc_recipents,
        headers = {'Reply-To': request.user.email},
        connection = connection
        )

    email_message.attach_alternative(message, "text/html")

    for a in matachments:

        email_message.attach(a.name, a.document.read())

    email_message.send()
03.01.2017
  • Спасибо, Густаво. Когда я читал EmailMultiAlternatives, казалось, что он собирается отправить мою html-версию в виде вложения. Позвольте мне попробовать это снова. 03.01.2017

  • 2

    Я вижу, что для электронной почты в формате html я могу использовать html в качестве тела, но мне просто нужно изменить content_subtype на html.

    msg_body.content_subtype = "html"

    Спасибо за вашу помощь, это вернуло меня на нужную страницу, чтобы прочитать более подробно.

    03.01.2017
  • рад, что это помогло. 03.01.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..