python发送邮件

最近在做接口自动化方面的工作,每次运行完接口都需要打开输出的excel文件,尤其是一下子运行好几个接口的时候,感觉不是很方便,于是想着能不能运行完接口后,将接口运行结果直接发送邮件,在邮件里看结果还是很方便的(至少省去了打开excel文件,嘿嘿)

在网上一搜索一大堆python发送邮件的教程和案例,唯独没有一个能直接运行就能成功的,真是应了那句话,不是自己体味的人生,宁可不要,好吧。。。

note:
1.要想邮箱能够发送自动发送邮件,首先必须打开邮箱的设置-->授权服务(自行百度,这个简单)

2.发送邮件的代码里,有一个login,需要输入密码,一定记得是授权码的密码啊,而并非邮箱的登录密码,这个纠缠了好久

#!/usr/bin/python

# -*- coding: UTF-8 -*-

importsmtplib

fromemail.mime.textimportMIMEText

fromemail.headerimportHeader

fromemail.utilsimportformataddr

fromemail.mime.multipartimportMIMEMultipart

# from email.MIMEText import MIMEText

# from email.MIMEMultipart import MIMEMultipart

from_addr='xxxxx@163.com'  #发件人邮箱

to_addr='xxxx@xxxx.com'# 接收邮件,可设置为你的QQ邮箱或者其他邮箱

mail_server='smtp.163.com'   #发件邮箱的服务器

# mail_server = 'smtp.exmail.qq.com'  # 如果发件邮箱是腾讯企业邮,则用这个

mail_port=25   #默认是25,如果使用了SSL,是465

subject='this is subject ooooo'

user = from_addr

 password = "********"  #这个密码是发件邮箱的授权码

def mail():

try:

msg=MIMEText(subject,'plain','utf-8')

msg['from']=from_addr

msg['to']=to_addr

msg['subject']=subject

server=smtplib.SMTP()

server.connect(mail_server,mail_port)

server.login(user,password) 

server.sendmail(from_addr,[to_addr],msg.as_string())

server.quit()

returnTrue

exceptException,e:

printstr(e)

returnFalse

ret=mail()

ifret:

print'ok'

else:

print'failed'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容