python自动化之邮件发送
2017-07-26 20:46
232 查看
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.header import Header
import datetime
import os.path
import createsheet
import base64
import sys
reload(sys)
sys.setdefaultencoding('utf8')
oct21st=datetime.datetime.now()
nowday=oct21st.strftime('%Y-%m-%d')
class Mailer(object):
def __init__(self,maillist,mailtitle,mailcontent):
self.mail_list = maillist
self.mail_title = mailtitle
self.mail_content = mailcontent
# self.mail_host = "smtp.163.com"
# self.mail_user = "*"
# self.mail_pass = "*"
# self.mail_postfix = "*"
self.mail_host = "smtp.exmail.qq.com"
self.mail_user = "*"
self.mail_pass = "*"
self.mail_postfix = "*"
def sendMail(self):
#创建一个带附件的实例
#加邮件头,设置根容器属性
## 构造MIMEMultipart对象做为根容器
me = self.mail_user + "<" + self.mail_user+">"
msg = MIMEMultipart()
msg['Subject'] = Header(self.mail_title, 'utf-8')
msg['From'] = me
msg['To'] = ";".join(self.mail_list)
#添加邮件内容
#注意,要指定邮件内容的编码为utf-8,否则中文会有乱码
#构造MIMEText对象做为邮件显示内容并附加到根容器
#puretext = MIMEText('<h1>你好,<br/>'+self.mail_content+'</h1>','html','utf-8')
puretext = MIMEText('Hi:\n见附件','plain','utf-8')
msg.attach(puretext)
# jpg类型的附件
# jpgpart = MIMEApplication(open('/home/mypan/1949777163775279642.jpg', 'rb').read())
# jpgpart.add_header('Content-Disposition', 'attachment', filename='beauty.jpg')
# msg.attach(jpgpart)
# 首先是xlsx类型的附件
# 设置附件头
xlsxname='C:\Users\Administrator\Desktop\内容\* '+nowday+'.xlsx'
# filename=os.path.basename(xlsxname).encode('gb2312')
filename=os.path.basename(xlsxname)
xlsxpart = MIMEApplication(open(xlsxname.decode('utf-8'), 'rb').read())
xlsxpart.add_header('Content-Disposition', 'attachment', filename='=?utf-8?b?'+base64.b64encode(filename.encode('utf-8'))+'?=')
msg.attach(xlsxpart)
# mp3类型的附件
#mp3part = MIMEApplication(open('kenny.mp3', 'rb').read())
#mp3part.add_header('Content-Disposition', 'attachment', filename='benny.mp3')
#msg.attach(mp3part)
# pdf类型附件
#part = MIMEApplication(open('foo.pdf', 'rb').read())
#part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
#msg.attach(part)
try:
s = smtplib.SMTP() #创建邮件服务器对象
s.connect(self.mail_host) #连接到指定的smtp服务器。参数分别表示smpt主机和端口
s.login(self.mail_user, self.mail_pass) #登录到你邮箱
s.sendmail(me, self.mail_list, msg.as_string()) #发送内容
s.close()
return True
except Exception, e:
print str(e)
return False
def send_mail():
createsheet.createsheet()
mailto_list = ["*"]
mail_title = '你好'
mail_content = 'Hey this is content'
mm = Mailer(mailto_list,mail_title,mail_content)
res = mm.sendMail()
print res
if __name__ == '__main__':
#send list
send_mail()
# -*- coding:utf-8 -*-
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.header import Header
import datetime
import os.path
import createsheet
import base64
import sys
reload(sys)
sys.setdefaultencoding('utf8')
oct21st=datetime.datetime.now()
nowday=oct21st.strftime('%Y-%m-%d')
class Mailer(object):
def __init__(self,maillist,mailtitle,mailcontent):
self.mail_list = maillist
self.mail_title = mailtitle
self.mail_content = mailcontent
# self.mail_host = "smtp.163.com"
# self.mail_user = "*"
# self.mail_pass = "*"
# self.mail_postfix = "*"
self.mail_host = "smtp.exmail.qq.com"
self.mail_user = "*"
self.mail_pass = "*"
self.mail_postfix = "*"
def sendMail(self):
#创建一个带附件的实例
#加邮件头,设置根容器属性
## 构造MIMEMultipart对象做为根容器
me = self.mail_user + "<" + self.mail_user+">"
msg = MIMEMultipart()
msg['Subject'] = Header(self.mail_title, 'utf-8')
msg['From'] = me
msg['To'] = ";".join(self.mail_list)
#添加邮件内容
#注意,要指定邮件内容的编码为utf-8,否则中文会有乱码
#构造MIMEText对象做为邮件显示内容并附加到根容器
#puretext = MIMEText('<h1>你好,<br/>'+self.mail_content+'</h1>','html','utf-8')
puretext = MIMEText('Hi:\n见附件','plain','utf-8')
msg.attach(puretext)
# jpg类型的附件
# jpgpart = MIMEApplication(open('/home/mypan/1949777163775279642.jpg', 'rb').read())
# jpgpart.add_header('Content-Disposition', 'attachment', filename='beauty.jpg')
# msg.attach(jpgpart)
# 首先是xlsx类型的附件
# 设置附件头
xlsxname='C:\Users\Administrator\Desktop\内容\* '+nowday+'.xlsx'
# filename=os.path.basename(xlsxname).encode('gb2312')
filename=os.path.basename(xlsxname)
xlsxpart = MIMEApplication(open(xlsxname.decode('utf-8'), 'rb').read())
xlsxpart.add_header('Content-Disposition', 'attachment', filename='=?utf-8?b?'+base64.b64encode(filename.encode('utf-8'))+'?=')
msg.attach(xlsxpart)
# mp3类型的附件
#mp3part = MIMEApplication(open('kenny.mp3', 'rb').read())
#mp3part.add_header('Content-Disposition', 'attachment', filename='benny.mp3')
#msg.attach(mp3part)
# pdf类型附件
#part = MIMEApplication(open('foo.pdf', 'rb').read())
#part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
#msg.attach(part)
try:
s = smtplib.SMTP() #创建邮件服务器对象
s.connect(self.mail_host) #连接到指定的smtp服务器。参数分别表示smpt主机和端口
s.login(self.mail_user, self.mail_pass) #登录到你邮箱
s.sendmail(me, self.mail_list, msg.as_string()) #发送内容
s.close()
return True
except Exception, e:
print str(e)
return False
def send_mail():
createsheet.createsheet()
mailto_list = ["*"]
mail_title = '你好'
mail_content = 'Hey this is content'
mm = Mailer(mailto_list,mail_title,mail_content)
res = mm.sendMail()
print res
if __name__ == '__main__':
#send list
send_mail()
相关文章推荐
- iOS 自动化打包发布测试平台后邮件通知测试人员(在Mac使用Python脚本发送邮件)
- selenium2+python3自动化2-csdn写博客(邮件发送附件测试报告)
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- python+selenium 自动化测试入门示例(邮件发送)
- Python发送邮件以及自动化测试报告的生成
- Python写自动化之邮件发送(匿名)
- python自动化--模块之操作日志、加密、发送邮件
- 如果用python利用本地sendmail服务发送邮件
- Python实现给qq邮箱发送邮件的方法
- python学习笔记(SMTP邮件发送:带附件)
- Python发送邮件给qq邮箱
- 还在做重复的劳动,不如用Python自动生成Excel以邮件发送
- (Python)利用SMTP发送邮件基础篇,发送文本邮件
- python完整实现发送邮件流程
- Python smtplib发送邮件 包含文本、附件、图片等
- Python发送邮件
- python使用SMTP发送邮件