11 """Build the header and body email for monthly report
14 receiver_email_address (str): client_email
15 link (str): download link
16 month (str): month and year when sales were processed
19 email_subject = f
"Your report for {month}"
21 text = t.report_email(month, link)
22 send_email(receiver_email_address, email_subject, text)
25 """Build the header and body email for unmatched report
28 receiver_email_address (str): client_email
29 link (str): download link
30 month (str): month and year when sales were processed
31 lines (int): total lines which don't match with catalogue
32 files (int): files which have lines not matched
35 email_subject = f
"Your unmatched report for {month}"
37 text = t.unmatched_email(month, link, lines, files)
38 print(
send_email(receiver_email_address, email_subject, text))
41 """Builds the body for statements email. The format used is html
44 period (str): month and year when sales were processed
45 csv_link (str): presigned link to download csv statement
46 pdf_link (str): presigned link to download pdf statement
49 email_subject = f
"Your Statement report for {month}"
51 text = t.statement_email(month, csv_link, pdf_link)
52 print(
send_email(receiver_email_address, email_subject, text))
54def send_email(receiver_email_address, email_subject, text):
55 """Sends the download link via email to client
58 receiver_email_address (str): client_email
59 email_subject (str): receiver email
60 text (str): body email
61 Returns: response (str)
64 message = EmailMessage()
66 sender_email_address = os.environ.get(
"SENDER_EMAIL")
67 email_password = os.environ.get(
"SENDER_PASSWORD")
69 message.set_content(text, subtype=
'html')
72 message[
'Subject'] = email_subject
73 message[
'From'] = sender_email_address
74 message[
'To'] = receiver_email_address
78 email_smtp =
"smtp.gmail.com"
79 server = smtplib.SMTP(email_smtp,
'587')
80 email_smtp =
"smtp.gmail.com"
83 server = smtplib.SMTP(email_smtp,
'587')
92 server.login(sender_email_address, email_password)
95 server.send_message(message)
99 response = f
"Link sent to {receiver_email_address}"