SSL加密方式
使用SSL加密方式发送邮件,可以提供更高的安全性。
QQ邮箱的SSL加密方式的SMTP端口号为465。
非SSL加密方式
使用非SSL加密方式发送邮件,对发送邮件的安全性要求较低。
QQ邮箱的非SSL加密方式的SMTP端口号为25或587。
报错
smtpObj = smtplib.SMTP('smtp.qq.com')
File "/root/miniconda3/envs/blog/lib/python3.10/smtplib.py", line 255, in __init__
(code, msg) = self.connect(host, port)
File "/root/miniconda3/envs/blog/lib/python3.10/smtplib.py", line 341, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/root/miniconda3/envs/blog/lib/python3.10/smtplib.py", line 312, in _get_socket
return socket.create_connection((host, port), timeout,
File "/root/miniconda3/envs/blog/lib/python3.10/socket.py", line 845, in create_connection
raise err
File "/root/miniconda3/envs/blog/lib/python3.10/socket.py", line 833, in create_connection
sock.connect(sa)
OSError: [Errno 101] Network is unreachable
因为有个服务需要部署在阿里云服务器上,qq邮箱smtp端口用的25,服务器也开了25端口,在本地可以运行,部署到服务器上出问题,报错显示网络不可大。查了好多博客,后来才发现阿里云是默认关闭25端口,就算你开了也没用,所以在阿里云服务器上部署smtp服务要么用加密的端口465,要么非加密的587,千万别用25。