-
Notifications
You must be signed in to change notification settings - Fork 0
/
HTML_email_sender.py
68 lines (56 loc) · 2.26 KB
/
HTML_email_sender.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
"""
Assemble and send an html Email
Emile Villette - April 2021
"""
from translator import trans
from datetime import date
import gmail_sender
def send_HTML_email(language, user, recap, sender, test_mode=False):
email = ""
with open("emaildata/email0.html", "r", encoding="UTF-8") as styles:
email += styles.read()
with open("emaildata/email1.html", "r", encoding="UTF-8") as header:
header_data = header.read()
with open("emaildata/email4.html", "r", encoding="UTF-8") as footer:
footer_data = footer.read()
to_be_translated = []
newsletter = "Daily newsletter"
browser = "View in browser"
title = f"{date.today()}"
if "." in user[:-3]:
name = user.split("@")[0]
namelst = name.split(".")
name = ""
for element in namelst:
name += element.capitalize() + " "
else:
name = user.split("@")[0]
name = name.capitalize()
greeting = f"Hello, {name}"
introduction = "Here is your daily COVID-19 recap (according to your chosen countries):"
to_be_translated.append(newsletter)
to_be_translated.append(browser)
to_be_translated.append(title)
to_be_translated.append(greeting)
to_be_translated.append(introduction)
email_without_css = ""
email_without_css += header_data
email_without_css += recap
email_without_css += footer_data
to_be_translated.append("Thank you!")
to_be_translated.append(
"Thank you for trusting The Corona Recap and beta testing it. Since I work all on my own, I make slow but "
"steady progress. Please contact me if you have suggestions (French/English only).")
to_be_translated.append("Emile Villette, founder")
to_be_translated.append("Contact me")
to_be_translated.append("Email:")
translation_raw = ""
for element in range(len(to_be_translated)):
to_be_translated[element] = to_be_translated[element].replace("\n", "")
translation_raw += to_be_translated[element] + "\n"
translated = trans(translation_raw, "en", language).split("\n")
email_without_css = email_without_css.format(*translated)
email += email_without_css
print(email)
if not test_mode:
gmail_sender.send_email(sender, user, f"Corona Recap {date.today()}", email)