QQ发送邮件实例
最近一直在研究python+selenium自动化,想着测试用例跑完之后,可不可以自动发送邮件,并百度了下,试着结合自已所知道的python知识和在网上找了大神的例子,搞通了!!!附上以下代码,仅供参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import smtplib from email.mime.text import MIMEText from email.utils import formataddr from email.header import Header from email.mime.multipart import MIMEMultipart my_sender = '172667104@qq.com' # 发件人邮箱账号 my_pass = 'password' # 发件人邮箱密码(即授权码就是登录密码,授权码在所在的邮箱中设置) my_user = '172667104@qq.com' # 收件人邮箱账号,我这边发送给自己 def mail(): ret = True try : # msg = MIMEText('测试邮件', 'plain', 'utf-8') #邮件正文 # msg['From'] = formataddr(["Change", my_sender]) # 发件人邮箱昵称、发件人邮箱账号 # msg['To'] = formataddr(["FK", my_user]) # 收件人邮箱昵称、收件人邮箱账号 # msg['Subject'] = "发送邮件测试" # 邮件的主题 # 创建一个带附件的实例 msgRoot = MIMEMultipart( 'related' ) msgRoot[ "From" ] = formataddr([ "Change" , my_sender]) # 发件人邮箱昵称、发件人邮箱账号 msgRoot[ "To" ] = formataddr([ "FK" , my_user]) # 收件人邮箱昵称、收件人邮箱账号 msgRoot[ 'Subject' ] = "发送邮件测试" # 邮件的主题 msgRoot.attach(MIMEText( "TEST attachment!!!" , "plain" , "utf-8" )) # 邮件正文 # 构造附件内容 att_file = open ( 'E:\\selenium_py\\20171024\\geckodriver.log' , 'rb' ).read() # 打开该目录下的geckodriver.log文件 att = MIMEText(att_file, 'base64' , 'utf-8' ) att[ "Content-Type" ] = 'application/octet-stream' # 附件的格式 att[ "Content-Disposition" ] = 'attachment; filename="geckodriver.log"' #附件内容 msgRoot.attach(att) server = smtplib.SMTP_SSL( "smtp.qq.com" , 465 ) # 发件人邮箱中的SMTP服务器,端口是465 server.login(my_sender, my_pass) # 发件人邮箱账号、邮箱密码 server.sendmail(my_sender, [my_user], msgRoot.as_string()) # 发件人邮箱账号、收件人邮箱账号、发送邮件,可发送给多人 server.quit() # 关闭连接 except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=False ret = False return ret ret = mail() if ret: print ( "邮件发送成功" ) else : print ( "邮件发送失败" ) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步