python 发送邮件
- 背景
工作中经常遇见定时邮件的一些需求,以及把使用python处理的数据通过邮件发送。
- 核心代码
import datetime from IPython.display import HTML from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication def send_email(): # email相关 user = Config.email_sender # 发件人 pwd = Config.email_sender_pwd # 邮箱用的授权码 arerceiver = Config.email_arerceiver # 收件人邮箱 acc = Config.email_cc # 抄送人邮件 host = Config.email_host rtn_html = Config.rtn_html email_out_dir = Config.email_out_dir file_name = email_out_dir + '.xlsx' # MIMEMultipart是多个部分 msg = MIMEMultipart () msg["Subject"] = u'test' msg["From"] = user msg["To"] = arerceiver msg["Cc"] = acc # excel附件部分 rtn_excel_part = MIMEApplication (open (file_name, 'rb').read ()) rtn_excel_part["Content_type"] = 'application/octet-stream' rtn_basename = os.path.basename (file_name) rtn_excel_part.add_header ('Content-Disposition', 'attachment', filename='%s' % rtn_basename, encoding='utf_8_sig') msg.attach (rtn_excel_part) # html附件部分 rtn_part = MIMEText (rtn_html, 'html', 'utf-8') msg.attach (rtn_part) # 邮件部分 s = smtplib.SMTP_SSL (host, 465) # 连接qq邮箱服务器,默认端口465 s.login (user, pwd) # 登陆服务器 s.sendmail (user, arerceiver.split (',') + acc.split (','), msg.as_string ()) # 发送邮件 print ("邮件发送成功", datetime.datetime.now ()) s.close () return if __name__ == '__main__': send_email()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人