Próbuję sformatować e-mail za pomocą HTML, który zostanie wysłany do mnie, gdy ktoś wypełnia formularz wraz z danymi formularzami, np. {{ Nazwa }}. Obecnie udało mi się zdać dane formularza za pośrednictwem poczty e-mail przy użyciu ciągu "F". Nie wiem, jak zrobić tytuły terenowe (np. Nazwa klienta :, e-mail :) śmiało, aby nie mieszają się z danymi formularza.

        MY_EMAIL = os.environ.get('MY_EMAIL')
        MY_EMAIL_PASSWORD = os.environ.get('MY_EMAIL_PASSWORD')
        
        message = EmailMessage()
        message['Subject'] = "New form submitted"
        message['From'] = MY_EMAIL
        message['To'] = "an_email@hotmail.com"
        message.set_content(f" Client name: {client_name}\n\n Email: {client_email}")
        with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
            smtp.login(MY_EMAIL, MY_EMAIL_PASSWORD)
            smtp.send_message(message)

Aktualny przykład wiadomości e-mail:

Nazwa klienta: Jack

E-mail: blackjack@hotmail.com.

pożądany wynik ("nazwa klienta", "E-mail, aby być pogrubionym"):

Nazwa klienta: Jack

e-mail: blackjack@hotmail.com

-1
user197236 10 październik 2020, 23:42

1 odpowiedź

Najlepsza odpowiedź

Odpowiedź jest w module Email.Mime.Text. Moduł ten zapewnia funkcję, która umożliwia renderowanie kodu HTML w ciągu "F". Ten bit musiał zostać dodany:

            message = f"<b>Client name:</b> {client_name}<br></br> <b>Email:</b> {client_email}"
            message = MIMEText(message, "html")

Oto pełny kod:

from email.mime.text import MIMEText

        MY_EMAIL = os.environ.get('MY_EMAIL')
        MY_EMAIL_PASSWORD = os.environ.get('MY_EMAIL_PASSWORD')
        
        message = EmailMessage()
        message = f"<b>Client name:</b> {client_name}<br></br> <b>Email:</b> {client_email}"
        message = MIMEText(message, "html")
        message['Subject'] = "New form submitted"
        message['From'] = MY_EMAIL
        message['To'] = "an_email@hotmail.com"
        
        with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
            smtp.login(MY_EMAIL, MY_EMAIL_PASSWORD)
            smtp.send_message(msg_for_me)
0
user197236 17 październik 2020, 17:05