can send html format email
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import base64
|
||||
import logging
|
||||
from mako.template import Template
|
||||
|
||||
import boto3
|
||||
|
||||
import definitions
|
||||
import params
|
||||
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_list: list):
|
||||
# recipients = params.firebase_store_manager.get_mail_list()
|
||||
|
||||
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_list=result_list),
|
||||
'Charset': 'utf8'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
result = ReserveResultPojo(email="panleicim@gmail.com", phone="0649614591", url="url", firstName="Lei",
|
||||
lastName="PAN", message="msg", type=PublishType.SUCCESS)
|
||||
|
||||
mytemplate = Template(filename=definitions.ROOT_DIR + "/templates/appointment_results.html")
|
||||
print(mytemplate.render(result_list=[result]))
|
||||
# mailer = Mailer()
|
||||
# mailer.send_email([result])
|
||||
Reference in New Issue
Block a user