码迷,mamicode.com
首页 > 编程语言 > 详细

Python SMTP 发送带附件电子邮件

时间:2017-11-07 18:04:42      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:connect   base64   文件路径   程序   related   一个   导数据   isp   tls   

起始于对现有工作的内容进行部分重复工作的释放,花费了两周的时间调试了完全可能自己吼得住看得懂能实现目标的代码,如标题所说,本代码主要用户带附件的电子邮件的发送;
对于代码大家只需要修改下文件路径,邮箱地址即可运行,我这边主要是结合navicat数据导出之后+此发送邮件的代码,做成定时任务,让程序每天按时执行,大家就不需要再每天去导数据了,让程序来完成即可,不是有句话怎么说来着:懒人自动化 人越懒才会去想着怎么去做成自动化 安于现状的往往不会有很多的想法
说了这么多废话,直接给大家看下面的代码:
# encoding: utf-8
import smtplib
from datetime import datetime
import os
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
HOST = ‘smtp.163.com‘
SUBJECT = u‘标题内容‘
To = ‘996551709@qq.com,102309888@qq.com‘ #收件人邮箱
From = ‘11111132@163.com‘ #发件人邮箱
msg = MIMEMultipart(‘related‘)
msgtext= MIMEText("<font>你好,<br>&nbsp;&nbsp;数据详见附件,请查收!</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‘] = SUBJECT
msg[‘From‘] = From
msg[‘To‘] = To
try:
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 备注:博客园

Python SMTP 发送带附件电子邮件

标签:connect   base64   文件路径   程序   related   一个   导数据   isp   tls   

原文地址:http://www.cnblogs.com/wppbk/p/7799598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!