Python smtplib:为啥连接被拒绝?
Posted
技术标签:
【中文标题】Python smtplib:为啥连接被拒绝?【英文标题】:Python smtplib: Why is the connection refused?Python smtplib:为什么连接被拒绝? 【发布时间】:2014-09-02 18:59:48 【问题描述】:所以,在 Python 解释器中,我会这样做(并且只这样做):
>>> import smtplib
>>> s=smtplib.SMTP("localhost")
这就是我得到的:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/smtplib.py", line 242, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python3.4/smtplib.py", line 321, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python3.4/smtplib.py", line 292, in _get_socket
self.source_address)
File "/usr/lib/python3.4/socket.py", line 509, in create_connection
raise err
File "/usr/lib/python3.4/socket.py", line 500, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
有人对我为什么会收到此错误有任何想法吗? (这是我的问题。)据我所知,它不应该这样做。如果我错了,请告诉我。
我使用的是 Xubuntu 14.04。如果您需要更多信息,请询问。我不知道还有什么可以告诉你的,顺便说一句。
谢谢!
【问题讨论】:
您的本地计算机上有邮件服务器吗? 没有。 (请参阅我刚刚发布的对 iandouglas 的回答的评论。) 现在我明白了 - 您可以使用smtplib
使用您在邮件服务器上的帐户发送邮件,例如 gmail.com
或其他。
【参考方案1】:
尝试通过运行在您机器上的另一个终端中启动服务器,
python -m smtpd -n -c DebuggingServer localhost:1025
然后在第一个终端或脚本中你可以说,
import smtplib
s = smtplib.SMTP( "localhost", 1025 )
【讨论】:
【参考方案2】:SMTPlib 将尝试连接到通常在端口 25 上运行的 SMTP 服务,尽管它可以在各种其他端口上运行。听起来您可能需要安装 sendmail、postfix 或类似的东西。
【讨论】:
啊。我认为您可以使用它来代替 postfix 之类的东西。所以,它似乎需要其中之一。谢谢!以上是关于Python smtplib:为啥连接被拒绝?的主要内容,如果未能解决你的问题,请参考以下文章
Python 2.7 smtplib 如何发送带有错误 13 权限的附件被拒绝?
为啥 ConnectException:连接被拒绝:从 HttpURLConnection.getResponseCode() 抛出连接? [复制]
python 发送邮件及smtplib.SMTPAuthenticationError 503 错误处理