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邮箱~~~
其他邮箱容易出现拦截等其他问题
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。