Насколько я знаю, вы не можете просто поместить ссылку на изображение в шаблоне, который отображается в электронном письме, и ожидать, что он будет работать. Когда вы отправляете изображение, оно все еще находится на вашем компьютере / сервере. Изображение должно быть сохранено как в модели, а затем вы можете использовать этот объект Model для отправки в качестве вложения.
Предположим, что модель файла находится чуть ниже:
class ImageFile(models.Model):
file = models.ImageField(upload_to='Images',verbose_name='File Path', max_length=400, null=True)
и функция send_mail выглядит так:
def send_mail():
file_obj = ImageFile.objects.get(file='banner2.png')
file_url = file_obj.file.path
msg = EmailMessage(subject=subject, body=email_body, from_email=[frommail],
to=[tomail], bcc=[bcc mails])
msg.attach_file(file_url)
msg.send()