Files
appointment_tool/notification/mailer.py
T
2022-04-20 23:02:55 +02:00

67 lines
2.4 KiB
Python

import base64
import logging
from mako.template import Template
import boto3
import definitions
import params
from notification.AcceptedResultPojo import AcceptedResultPojo
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
TEMPLATE_NAME = 'scrapy_template_email'
AWS_CLIENT_NAME = "sesv2"
AWS_REGION_NAME = "eu-central-1"
UTF8 = 'utf-8'
class Mailer:
def __init__(self):
self.logger = logging.getLogger("Mailer")
encoded_bytes = "4JWcU9B/BzTRXIPlBDt4EobibUU7ji1Sgx+VTsEf".encode(UTF8)
encoded_base64_bytes = base64.b64encode(encoded_bytes)
decoded_bytes = base64.b64decode(encoded_base64_bytes)
secret = decoded_bytes.decode(UTF8)
self.ses_client = boto3.client(AWS_CLIENT_NAME, region_name=AWS_REGION_NAME,
aws_access_key_id="AKIAU67WLKZUXEHXDJB5",
aws_secret_access_key=secret)
def send_email(self, result: AcceptedResultPojo):
recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com']
# recipients = ['panleicim@gmail.com']
mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
self.logger.info("send email to " + str(recipients))
self.ses_client.send_email(
FromEmailAddress="noreply@lpaconsulting.fr",
Destination={
"ToAddresses": recipients
},
Content={
'Simple': {
'Subject': {
'Data': '约会成功',
'Charset': 'utf8'
},
'Body': {
'Html': {
'Data': mytemplate.render(result=result),
'Charset': 'utf8'
}
}
},
}
)
if __name__ == '__main__':
result = ReserveResultPojo(email="purge_jigsaws_0p@icloud.com", phone="0649614591", url="url", firstName="wenjing",
lastName="Chen", message="msg", type=PublishType.SUCCESS, passport="Ed1543183",
slot_position=1, sim_position=1)
# mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
# print(mytemplate.render(result_list=[result]))
mailer = Mailer()
mailer.send_email([result])