python基础-发邮件smtp
先来想下发送邮件需要填写什么,还需要有什么条件
1.与邮件服务器建立连接,用户名和密码
2.发邮件:发件人,收件人,主题,内容,附件
3.发送
使用第三方邮箱发送邮件
#! /usr/bin/env python #coding=utf-8 import smtplib import email.mime.multipart import email.mime.text from email.mime.application import MIMEApplication ''' 先来想下发送邮件需要填写什么,还需要有什么条件 1.与邮件服务器建立连接,用户名和密码 2.发邮件:发件人\收件人\主题\内容\附件 3.发送 ''' class SendMail: def send_mail(self, title): msg=email.mime.multipart.MIMEMultipart()#生成包含多个邮件体的对象 msg['from']='huipaodexiong@126.com' msg['to']='huipaodexiong@126.com' msg['subject']= title content=''' Hi all, 这是一封huipaodexiong自动化测试发送的邮件 QQ:xxxxxxx 博客:http://www.cnblogs.com/R-bear/ 微信号:xxxxxxx 带附件 ''' print('成功1') #邮件正文,将文件正文当成附件发送,当正文内容很多时,提高效率 txt=email.mime.text.MIMEText(content) msg.attach(txt) print('成功2') #excel附件--固定格式 xlsxpart = MIMEApplication(open('laohuangli-testcase1.xlsx', 'rb').read()) xlsxpart.add_header('Content-Disposition', 'attachment', filename='laohuangli-testcase1.xlsx') msg.attach(xlsxpart) #jpg图片附件 jpgpart = MIMEApplication(open('接口测试框架.jpg', 'rb').read()) jpgpart.add_header('Content-Disposition', 'attachment', filename='接口测试框架.jpg') msg.attach(jpgpart) #发送邮件 smtp=smtplib smtp=smtplib.SMTP() smtp.set_debuglevel(1)#设置为调试模式,console中显示 print('成功3') smtp.connect('smtp.126.com','25') #链接服务器,smtp地址+端口 print('成功4') smtp.login('huipaodexiong@126.com','XXXXXXXX') #登录,用户名+密码 print('成功5') smtp.sendmail('huipaodexiong@126.com','huipaodexiong@126.com',str(msg)) #发送,from+to+内容 smtp.quit() print('发送邮件成功') mail = SendMail() mail.send_mail('测试文件')
结果:
遇到的问题,需要开启邮箱的服务.