Q1:TimeoutError问题报错
A1:看看你的host是否出现错误,以及你的网络是否连接正常,可以尝试切换网络 Q2:535报错
A2: 1)是因为未将POP3/SMTP服务开启或使用QQ邮箱时(通过授权码可以进行第三方登录)。 授权码的获取如下:
以qq邮箱为例: 账户>>设置>>开启pop协议>>生成授权码 2)授权码填写中,出现了空格,直接复制粘贴授权码即可 Q3:报错:please run connect()first
A3:去掉port参数或参考一下网址:https://blog.csdn.net/jimmyandrushking/article/details/83061344 Q4:显示554报错
A4:邮件服务器拒绝发送邮件,判断为发送垃圾邮件。建议同学检查邮件内容,是否包含一些比较敏感的内容。 Q5:ValueError: server_hostname cannot be an empty string or start with a leading dot. A5:改动这句代码 server = smtplib.SMTP_SSL() # 在括号内加入host参数 server = smtplib.SMTP_SSL(smtp_server) Q6:UnicodeDecodeError A6:修改这句代码 server.connect('smtp.qq.com', 465) 为server.connect('smtp.qq.com', 465,'utf-8') Q:报错:hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte A6:把你的计算机名 改成英文
Q:报错:raise SMTPServerDisconnected('Connection unexpectedly closed')
Q7:端口名字错误 (图片待补充) 修改为正确的端口号码 Q8:ModuleNotFoundError: No module named 'email.mime'; 'email' is not a package 修改py文件名,文件名不能有email关键字眼 Q8:10060错误
授权码错误写为密码 其他可能因素再补充 学习模块,发一封邮件 自动检测# smtplib 用于邮件的发信动作 import smtplib from email.mime.text import MIMEText # email 用于构建邮件内容
# 发信方的信息:发信邮箱,QQ邮箱授权码 from_addr = 'XXXX@qq.com' password = 'XXXX'
# 收信方邮箱 to_addr = 'XXXXX@qq.com'
# 发信服务器 smtp_server = 'smtp.qq.com'
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码 msg = MIMEText('send by python','plain','utf-8')
# 开启发信服务,这里使用的是加密传输 server = smtplib.SMTP_SSL(smtp_server) server.connect(smtp_server,465) # 登录发信邮箱 server.login(from_addr, password) # 发送邮件 server.sendmail(from_addr, to_addr, msg.as_string()) # 关闭服务器 server.quit() 尽量用QQ邮箱~~~ 其他邮箱容易出现拦截等其他问题
|