import base64 import logging from mako.template import Template import boto3 import definitions from notification.AcceptedResultPojo import AcceptedResultPojo 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' } } }, } )