Add html email

This commit is contained in:
Benjamin Sigonneau
2022-05-13 09:29:43 +02:00
parent d3a4d555a4
commit 446fedc4a6
2 changed files with 55 additions and 7 deletions

51
app.py
View File

@@ -2,6 +2,50 @@
from bottle import get, post, run, template
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def craft_email(from_address, to_address, subject):
return f"""\
From: {from_address}
To: {to_address}
Subject: {subject}
You're just one click away from SuperBuzz bliss! Click this confirmation link:
[confirmation link].
"""
def craft_fancy_email(from_address, to_address, subject):
message = MIMEMultipart("alternative")
message["Subject"] = "multipart test"
message["From"] = from_address
message["To"] = to_address
# Create the plain-text and HTML version of your message
text = """\
You're just one click away from SuperBuzz bliss! Click this confirmation link:
[confirmation link]."""
html = """\
<html>
<body>
<p>Tou're just one click away from SuperBuzz bliss!<br />
Click this confirmation link:<br />
<a href="https://media.giphy.com/media/9g8PH1MbwTy4o/giphy.gif">Confirm SuperBuzz</a>
</p>
</body>
</html>
"""
# Turn these into plain/html MIMEText objects
part1 = MIMEText(text, "plain")
part2 = MIMEText(html, "html")
# Add HTML/plain-text parts to MIMEMultipart message
# The email client will try to render the last part first
message.attach(part1)
message.attach(part2)
return message.as_string()
def send_confirm_email():
@@ -11,11 +55,8 @@ def send_confirm_email():
server = smtplib.SMTP(host, port)
FROM = "welcome@superbuzz.com"
TO = "you@example.com"
MSG = """Subject: Welcome to SuperBuzz!
You're just one click away from SuperBuzz bliss! Click this confirmation link:
[confirmation link].
"""
#MSG = craft_email(FROM, TO, 'Welcome to SuperBuzz!')
MSG = craft_fancy_email(FROM, TO, 'Welcome to SuperBuzz!')
server.sendmail(FROM, TO, MSG)
server.quit()
print('Confimration email sent.')