1.图片嵌入邮件

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import base64
  4. import smtplib
  5. from email.mime.text import MIMEText
  6. from email.header import Header
  7. def makeMailMsg():
  8. app_labels = ['商务版', '快乐Pay', '乐宜付', '快POS', '易收付', '刷宝', '收付呗', '乐榕付', '极速版']
  9. base64_data_list = [""] * len(app_labels)
  10. for i in range(len(app_labels)):
  11. with open("picture/%s错误码日报.png" % app_labels[i], "rb") as f:
  12. # 读取图片,并通过base64编码
  13. base64_data_list[i] = str(base64.b64encode(f.read()), encoding='utf-8')
  14. # 将编码存在txt文件中
  15. s_base64_data = ""
  16. with open("picture/具体错误统计日报.png", "rb") as f:
  17. s_base64_data = str(base64.b64encode(f.read()), encoding='utf-8')
  18. zlist = []
  19. for i in range(len(app_labels)):
  20. zlist.append(app_labels[i] + "错误码日报")
  21. zlist.append(base64_data_list[i])
  22. zlist.append("具体错误统计日报")
  23. zlist.append(s_base64_data)
  24. mail_msg = """
  25. <p>错误码日报</p>
  26. <p>%s</p>
  27. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  28. <p>%s</p>
  29. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  30. <p>%s</p>
  31. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  32. <p>%s</p>
  33. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  34. <p>%s</p>
  35. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  36. <p>%s</p>
  37. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  38. <p>%s</p>
  39. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  40. <p>%s</p>
  41. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  42. <p>%s</p>
  43. <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p>
  44. <p>%s</p>
  45. <p><img src="data:image/png;base64,%s" width="1600px" height="1200px"/></p>
  46. """ % (*zlist,)
  47. print(mail_msg)
  48. return mail_msg
  49. def sendMail(mail_msg):
  50. # 第三方 SMTP 服务
  51. mail_host = "mail.yeahka.com" # 设置服务器
  52. mail_user = "haibaraguo" # 用户名
  53. mail_pass = "Z7bXEwsAuFdfXcSu" # 口令
  54. sender = 'haibaraguo@yeahka.com'
  55. receivers = ['1776620359@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
  56. message = MIMEText(mail_msg, 'html', 'utf-8')
  57. message['From'] = Header("郭辉源", 'utf-8')
  58. message['To'] = Header("我的儿子", 'utf-8')
  59. subject = '错误码日报'
  60. message['Subject'] = Header(subject, 'utf-8')
  61. try:
  62. smtpObj = smtplib.SMTP()
  63. smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
  64. smtpObj.login(mail_user, mail_pass)
  65. smtpObj.sendmail(sender, receivers, message.as_string())
  66. print("邮件发送成功")
  67. except smtplib.SMTPException:
  68. print("Error: 无法发送邮件")
  69. if __name__ == '__main__':
  70. sendMail(makeMailMsg())