【selenium+Python unittest】之发送邮箱时报错:smtplib.SMTPDataError、smtplib.SMTPAuthenticationError(例:126邮箱),,原代码如下:impo
【selenium+Python unittest】之发送邮箱时报错:smtplib.SMTPDataError、smtplib.SMTPAuthenticationError(例:126邮箱),,原代码如下:impo
原代码如下:
import smtplibfrom email.mime.text import MIMETextfrom email.header import Header#要发送的服务器smtpserver = ‘smtp.126.com‘#要发送的邮箱用户名/密码user = ‘[email protected]‘password = ‘XXX‘#发送的邮箱sender = ‘[email protected]‘#接收的邮箱receiver = ‘[email protected]‘#发送邮箱主题subject = ‘test_mail‘#编写HTML类型的邮件正文msg = MIMEText(‘<html><h1>大佬好!</h1></html>‘,‘html‘,‘utf-8‘)msg[‘Subject‘] = Header(subject,‘utf-8‘)#连接发送邮件smtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(user,password)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()
一、现象:
发送邮件时,运行时报错smtplib.SMTPDataError,如下图:
二、解决办法
①经网上查询得知:因为126邮箱中没有开启【授权码】,如下图所示应该开启:
②但是再次运行代码还是报错:smtplib.SMTPAuthenticationError,如下图,提示登陆失败:
原因是:代码中的密码应该改为授权密码即可。
③继续运行后,但是代码还是报错:smtplib.SMTPDataError:(554, b‘DT:SPM 126 smtp4
报错原因是没有加上下面的代码:
#报错原因是因为“发件人和收件人参数没有进行定义msg[‘from‘] = ‘[email protected]‘msg[‘to‘] = ‘[email protected]‘
加上之后,终于解决发送邮件失败的问题了。
完整代码如下:(因保密自行替换)
import smtplibfrom email.mime.text import MIMETextfrom email.header import Header#要发送的服务器smtpserver = ‘smtp.126.com‘#要发送的邮箱用户名/密码user = ‘[email protected]‘password = ‘XXX‘#发送的邮箱sender = ‘[email protected]‘#接收的邮箱receiver = ‘[email protected]‘#发送邮箱主题subject = ‘test_mail‘#编写HTML类型的邮件正文msg = MIMEText(‘<html><h1>大佬好!</h1></html>‘,‘html‘,‘utf-8‘)msg[‘Subject‘] = Header(subject,‘utf-8‘)msg[‘from‘] = ‘[email protected]‘msg[‘to‘] = ‘[email protected]‘#连接发送邮件smtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(user,password)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()
【selenium+Python unittest】之发送邮箱时报错:smtplib.SMTPDataError、smtplib.SMTPAuthenticationError(例:126邮箱)
相关内容
- python中的encode()和decode()函数,encodedecode,前言:我
- python-unitest模块总结,python-unitest模块,一、为什么写单
- python3开发进阶-Django框架的自带认证功能auth模块和Use
- python strip() 函数,pythonstrip函数,strip()用于把
- python时间处理 time,datetime,arrow,pythondatetime,内置timeimp
- Python安装cx_Oracle模块遇到的问题(32bit),pythoncx_oracle,环
- Python创建dict的几种方法,pythondict,声明:转自CSDN
- python进阶之内置函数和语法糖触发魔法方法,python进阶
- python数据分析之:数据清理,转换,合并,重塑(一),
- python openpyxl安装,pythonopenpyxl,windows下:1
评论关闭