smtplib的python无法正常工作

时间:2015-02-04 18:01:10

标签: python email smtplib

尝试连接到Gmail的smpt服务器,但它提供了网络无法访问

import smtplib
s=smtplib.SMTP('smtp.gmail.com',587)

这两项都没有效果

import smtplib
s=smtplib.SMTP_SSL('smtp.gmail.com',587)

出现以下错误:

追踪(最近一次呼叫最后一次):

  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 311, in connect
self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 286, in _get_socket
return socket.create_connection((host, port), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
  socket.error: [Errno 101] Network is unreachable

4 个答案:

答案 0 :(得分:4)

使用端口 465 。来自SMTP配置的Google文档;

enter image description here

import smtplib
s = smtplib.SMTP_SSL('smtp.gmail.com', 465)

答案 1 :(得分:1)

根据this page端口587需要TLS。

答案 2 :(得分:0)

对我来说,当我在Ubuntu中尝试时,它正在使用TLS端口。脚本显示在这里:

import smtplib
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)

它正在使用windows cygwin中的SSL端口。脚本显示在这里:

{{1}}

答案 3 :(得分:0)

对我来说,这是因为网络不允许打开套接字,请尝试使用其他网络