1.图片嵌入邮件
#!/usr/bin/python# -*- coding: UTF-8 -*-import base64import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerdef makeMailMsg(): app_labels = ['商务版', '快乐Pay', '乐宜付', '快POS', '易收付', '刷宝', '收付呗', '乐榕付', '极速版'] base64_data_list = [""] * len(app_labels) for i in range(len(app_labels)): with open("picture/%s错误码日报.png" % app_labels[i], "rb") as f: # 读取图片,并通过base64编码 base64_data_list[i] = str(base64.b64encode(f.read()), encoding='utf-8') # 将编码存在txt文件中 s_base64_data = "" with open("picture/具体错误统计日报.png", "rb") as f: s_base64_data = str(base64.b64encode(f.read()), encoding='utf-8') zlist = [] for i in range(len(app_labels)): zlist.append(app_labels[i] + "错误码日报") zlist.append(base64_data_list[i]) zlist.append("具体错误统计日报") zlist.append(s_base64_data) mail_msg = """ <p>错误码日报</p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="640px" height="480px"/></p> <p>%s</p> <p><img src="data:image/png;base64,%s" width="1600px" height="1200px"/></p> """ % (*zlist,) print(mail_msg) return mail_msgdef sendMail(mail_msg): # 第三方 SMTP 服务 mail_host = "mail.yeahka.com" # 设置服务器 mail_user = "haibaraguo" # 用户名 mail_pass = "Z7bXEwsAuFdfXcSu" # 口令 sender = 'haibaraguo@yeahka.com' receivers = ['1776620359@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 message = MIMEText(mail_msg, 'html', 'utf-8') message['From'] = Header("郭辉源", 'utf-8') message['To'] = Header("我的儿子", 'utf-8') subject = '错误码日报' message['Subject'] = Header(subject, 'utf-8') try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号 smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print("邮件发送成功") except smtplib.SMTPException: print("Error: 无法发送邮件")if __name__ == '__main__': sendMail(makeMailMsg())