S3Email.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import smtplib
  2. import email.utils
  3. from email.mime.multipart import MIMEMultipart
  4. from email.mime.text import MIMEText
  5. class S3Email:
  6. def __init__(self, *args, **kwargs):
  7. SENDER = 'rdpublic@ansjer.com' # 邮箱名
  8. SENDERNAME = 'rdpublic@ansjer.com'
  9. USERNAME_SMTP = "AKIA2E67UIMD6MOSFKXW" # 带有邮件权限的 IAM 帐号
  10. PASSWORD_SMTP = "BHuQ6EQTtFK4qh46o9omO9ZzO3NXzjk/JCWLXnVFmqzM" # 带有邮件权限的 IAM 密码
  11. PORT = 587
  12. HOST = "email-smtp.us-east-1.amazonaws.com"
  13. def faEmail(self, content ,RECIPIENT):
  14. SUBJECT = 'Amazon SES Error (Python smtplib)'
  15. BODY_TEXT = ("Amazon SES Test\r\n"
  16. "This email was sent through the Amazon SES SMTP "
  17. "Interface using the Python smtplib package."
  18. )
  19. BODY_HTML = """<html>
  20. <head></head>
  21. <body>
  22. <h1>{}<h1>
  23. </body>
  24. </html>
  25. """.format(content)
  26. msg = MIMEMultipart('alternative')
  27. msg['Subject'] = SUBJECT
  28. msg['From'] = email.utils.formataddr((self.SENDERNAME, self.SENDER))
  29. msg['To'] = RECIPIENT
  30. part1 = MIMEText(BODY_TEXT, 'plain')
  31. part2 = MIMEText(BODY_HTML, 'html')
  32. msg.attach(part1)
  33. msg.attach(part2)
  34. try:
  35. server = smtplib.SMTP(self.HOST, self.PORT)
  36. server.ehlo()
  37. server.starttls()
  38. server.ehlo()
  39. server.login(self.USERNAME_SMTP, self.PASSWORD_SMTP)
  40. server.sendmail(self.SENDER, RECIPIENT, msg.as_string())
  41. server.close()
  42. except Exception as e:
  43. print("Error: ", e)
  44. else:
  45. print("Email sent!")