send_email() отображает вложение в почте

#django #email-attachments #email #django-email

#django #вложения электронной почты #Адрес электронной почты #django-электронная почта

Вопрос:

На текущем этапе электронное письмо полностью работает, однако при получении фактического письма изображение не прикрепляется, а отображается имя. Я хотел бы отобразить вложение, чтобы иметь возможность его загрузить.

 def publication(request):
    if request.method == "POST":
        inputImmagine1 = request.POST['inputImmagine1']
  
        send_mail(
            'Richiesta di pubblicazione - Condoglianze', #subject
            inputImmagine1, #message 
            inputEmail, # from email
            ['XXX@gmail.com'], # to email
        )

        return render(request, 'publication.html', {'inputImmagine1': inputImmagine1})

    else:
        return render(request, 'publication.html', {})
  

Ответ №1:

Вы можете использовать EmailMessage класс для прикрепления файлов

 from django.core.mail import EmailMessage

email = EmailMessage(
    'Hello',
    'Body goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
)
email.attach_file('/logo.png')
email.send()
  

Проверьте документы для отправки электронных писем.

Редактировать: для обработки файлов, загруженных во внешнем интерфейсе, проверьте загруженные файлы в документах Django.

Комментарии:

1. Спасибо, сэр, как насчет случая, когда я прошу пользователей загрузить свое изображение через форму, и я хочу, чтобы система отправила на мою корпоративную почту вложение, как показано в моем коде выше?