Как настроить сообщение в send_mail в django

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

Может ли кто-нибудь подсказать мне, как это сделать? Буду признателен за некоторые предложения.

Спасибо.

В вашем views.py вы можете сделать что-то вроде этого

from os import error
import smtplib
import  csv 
from email.mime.text import MIMEText
def mass_mailing_script():

    with open('receipients.csv', 'r') as csvfile:
        reader = csv.reader(csvfile)
    
    try:
        count = 0
        for line in reader:
            if(len(line) < 1):
                continue
            email_send = line[0]
            subject ="Your message for the email" 
            html_body = open("text.html")
            msg = MIMEText(html_body.read(), "html")
            msg['From'] = email_user
            msg['To'] = email_send
            msg['Subject'] = subject
            text = msg.as_string()
            server.login(email_user, password)
            server.sendmail(email_user, email_send, text)
            count +=1
            print(str(count) + ". Sent Email to: " + email_send)
                
    except:
        print("error")

тогда в вашем шаблоне в этом случае будет text.htmml

это способ отправить нужную html-страницу по электронной почте. реализовать в views.py :

 html_user_message = render_to_string(
        'text.html',  # your html path
        {
           # these are contexts to send to template 
           'email': user.email,
           ....
            
        }
    )
    send_mail(
        "Login Attempt",  # Title
        '-',
        [],
        [user.email],    # recipient
        fail_silently=False,  # no errors on failure
        html_message=html_user_message) # the html template to send via email 

и в конце вам нужно установить smpt и email config в вашем settings.py

надеюсь, вы найдете это полезным.

Вернуться на верх