SesClassObject.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from Ansjer.config import *
  2. from boto3.session import Session
  3. import traceback
  4. class SesClassObject:
  5. def __init__(self, *args, **kwargs):
  6. self.access_id = AWS_ACCESS_ID
  7. self.access_secret = AWS_ACCESS_SECRET
  8. self.region_name = AWS_ACCESS_REGION
  9. self.company_email = COMPANY_EMAIL
  10. session = Session(
  11. aws_access_key_id=AWS_ACCESS_ID,
  12. aws_secret_access_key=AWS_ACCESS_SECRET,
  13. region_name=AWS_ACCESS_REGION,
  14. )
  15. self.conn = session.client('ses')
  16. def send_email(self, send_address_list=[], subject='', body=''):
  17. try:
  18. response = self.conn.send_email(
  19. # 发送人
  20. Source=self.company_email,
  21. Destination={
  22. # 收件人
  23. 'ToAddresses': send_address_list
  24. # 'ToAddresses': [
  25. # '1758730877@qq.com',
  26. # ],
  27. },
  28. Message={
  29. # 标题
  30. 'Subject': {
  31. 'Data': subject,
  32. 'Charset': 'utf-8'
  33. },
  34. 'Body': {
  35. 'Html': {
  36. 'Data': body,
  37. 'Charset': 'utf-8'
  38. }
  39. }
  40. },
  41. )
  42. except Exception as e:
  43. errorInfo = traceback.format_exc()
  44. print(errorInfo)
  45. self.send_email(send_address_list=[self.company_email], subject='邮件发送错误信息提醒', body='<br>请向开发人员反馈并修改</br>' +'\n错误信息位'+str(errorInfo))
  46. if response['MessageId']:
  47. return True
  48. else:
  49. print(response)
  50. self.send_email(send_address_list=[self.company_email],subject='邮件发送错误信息提醒',body='<br>请向开发人员反馈并修改</br>')
  51. return False