sendMail.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import smtplib
  2. from email.mime.text import MIMEText
  3. from email.header import Header
  4. import logging
  5. from logging.handlers import TimedRotatingFileHandler
  6. # 创建一个选品logger
  7. detail_logger = logging.getLogger('detailLogger')
  8. detail_logger.setLevel(logging.DEBUG) # 设置日志级别
  9. # 创建一个handler,用于写入文件,并根据时间自动轮换日志文件
  10. detail_handler = TimedRotatingFileHandler('log/详细日志.log', when='midnight', interval=1, backupCount=30,encoding='utf-8')
  11. detail_handler.setFormatter(logging.Formatter('%(asctime)s - %(message)s'))
  12. # 添加handler到logger
  13. detail_logger.addHandler(detail_handler)
  14. # 发件人邮箱账号
  15. sender = 'wuzilongad163@163.com'
  16. # 收件人邮箱账号,可以是多个
  17. receivers = 'cnpcpptfcshhtg16@126.com'
  18. # 邮件正文内容
  19. message = MIMEText('这是邮件的正文内容', 'plain', 'utf-8')
  20. j1 = 0
  21. while j1 < 20:
  22. j1 += 1
  23. message = MIMEText('这是邮件的正文内容', 'plain', 'utf-8')
  24. # 邮件主题
  25. message['Subject'] = Header(f'邮件主题163-{j1}', 'utf-8')
  26. # 发件人和收件人
  27. message['From'] = "wuzilongad163@163.com"
  28. message['To'] = "cnpcpptfcshhtg16@126.com"
  29. try:
  30. # 连接到SMTP服务器,使用SSL连接(端口465)或TLS连接(端口587)
  31. smtpObj = smtplib.SMTP_SSL("smtp.163.com", 465) # 使用SSL连接示例
  32. # smtpObj = smtplib.SMTP("smtp.126.com", 587) # 使用TLS连接示例,需要先调用smtpObj.starttls()
  33. # smtpObj.starttls() # 如果使用TLS连接,取消注释这行并注释上一行中的SSL连接部分
  34. # 登录SMTP服务器
  35. smtpObj.login(sender, "PAquhUxh7VR6Qe9j") # 注意:出于安全考虑,建议使用应用专用密码而非你的邮箱密码
  36. # 发送邮件
  37. smtpObj.sendmail(sender, receivers, message.as_string())
  38. detail_logger.info(f"邮件发送成功-{j1}")
  39. except smtplib.SMTPException as e:
  40. print("Error: 无法发送邮件", e)
  41. finally:
  42. smtpObj.quit()