selenium+Python unittest之发送邮箱时报错:smtplib.SMTPDataErrorsmtplib.SMTPAuthenticationError(例:126邮箱)(示(代码

Posted Owen_ET

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium+Python unittest之发送邮箱时报错:smtplib.SMTPDataErrorsmtplib.SMTPAuthenticationError(例:126邮箱)(示(代码相关的知识,希望对你有一定的参考价值。

原代码如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

#要发送的服务器
smtpserver = \'smtp.126.com\'
#要发送的邮箱用户名/密码
user = \'XXX@126.com\'
password = \'XXX\'
#发送的邮箱
sender = \'XXX@126.com\'
#接收的邮箱
receiver = \'XXX@qq.com\'
#发送邮箱主题
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\'] = \'test_bug@126.com\'
msg[\'to\'] = \'testyao@163.com\'

 

加上之后,终于解决发送邮件失败的问题了。

 

完整代码如下:(因保密自行替换)

 

import smtplib
from email.mime.text import MIMEText
from email.header import Header

#要发送的服务器
smtpserver = \'smtp.126.com\'
#要发送的邮箱用户名/密码
user = \'XXX@126.com\'
password = \'XXX\'
#发送的邮箱
sender = \'XXX@126.com\'
#接收的邮箱
receiver = \'XXX@qq.com\'
#发送邮箱主题
subject = \'test_mail\'

#编写HTML类型的邮件正文
msg = MIMEText(\'<html><h1>大佬好!</h1></html>\',\'html\',\'utf-8\')
msg[\'Subject\'] = Header(subject,\'utf-8\')
msg[\'from\'] = \'XXX@126.com\'
msg[\'to\'] = \'XXX@qq.com\'


#连接发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

 

以上是关于selenium+Python unittest之发送邮箱时报错:smtplib.SMTPDataErrorsmtplib.SMTPAuthenticationError(例:126邮箱)(示(代码的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium+unittest

selenium + python自动化测试unittest框架学习selenium原理及应用

python+selenium+unittest有用文章

python+selenium+unittest测试框架4-邮件发送最新测试报告

无法使用 unittest 使用 python 运行 selenium

Selenium2+python自动化20-引入unittest框架