起始于对现有工作的内容进行部分重复工作的释放,花费了两周的时间调试了完全可能自己吼得住看得懂能实现目标的代码,如标题所说,本代码主要用户带附件的电子邮件的发送;对于代码大家只需要修改下文件路径,邮箱地址即可运行,我这边主要是结合navicat数据导出之后+此发送邮件的代码,做成定时任务,让程序每天按时执行,大家就不需要再每天去导数据了,让程序来完成即可,不是有句话怎么说来着:懒人自动化 人越懒才会去想着怎么去做成自动化 安于现状的往往不会有很多的想法说了这么多废话,直接给大家看下面的代码:# encoding: utf-8import smtplibfrom datetime import datetimeimport osfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImageHOST = ‘smtp.163.com‘SUBJECT = u‘标题内容‘To = ‘[email protected],[email protected]‘ #收件人邮箱From = ‘[email protected]‘ #发件人邮箱msg = MIMEMultipart(‘related‘)msgtext= MIMEText("<font>你好,<br> 数据详见附件,请查收!</font>","html","utf-8")msg.attach(msgtext)# 创建一个MIMEText对象,附加,xlsx文档#file_name = os.path.join(‘xxxx‘, ‘mail.txt‘)time = datetime.today().strftime(‘%Y-%m-%d‘)# file_name = ‘/home/test/db_%s.sql‘ % datetime.today().strftime(‘%Y-%m-%d‘)attach = MIMEText(open(‘/home/test/db_%s.sql‘ % time, ‘rb‘).read(), ‘base64‘, ‘utf-8‘)attach[‘Content-Type‘] = ‘application/octet-stream‘attach[‘Content-Disposition‘] = (u‘attachment; filename="db_%s.sql"‘ % time).encode(‘utf-8‘)msg.attach(attach)msg[‘Subject‘] = SUBJECTmsg[‘From‘] = Frommsg[‘To‘] = Totry: server = smtplib.SMTP() server.connect(HOST, ‘25‘) # server.starttls() server.login(‘登录邮箱地址‘, ‘授权码‘) server.sendmail(From, To.split(‘,‘), msg.as_string()) server.quit() print(u‘邮件发送成功!‘)except Exception, e: print ‘失败‘ + str(e)写成这样一个完整的可用代码,中间过程不易,也希望能给需要的人提供帮助版权声明:本文由作者原创,未经允许不得转载 如有问题可联系本人进行咨询,qq:996551709 备注:博客园
时间: 2024-10-07 22:42:22