如何在 python 中设置本地主机?
该项目能够从 Python 中发送电子邮件。例如,我可以成功发送到“smtp.gmail.com”,但使用本地主机或 127.0.0.1 返回“errno 111,连接被拒绝”。该声明为
server = smtplib.SMTP('127.0.0.1', 8025)
注释: 我正在运行 Ubuntu、Python 3.2 或 Python 2.7,具体取决于这里的优秀人员最了解的内容,而我的编程知识可以宽容地描述为有限。
The project is to be able to send email from within Python. I can successfully send to, for example, "smtp.gmail.com", but using a localhost or 127.0.0.1 returns an "errno 111, connection was refused." The statement is
server = smtplib.SMTP('127.0.0.1', 8025)
Notes:
I am running Ubuntu, Python 3.2 or Python 2.7 depending on what the wonderful people here know best, and my programming knowledge could be charitably described as limited.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,使用 Telnet 测试本地 SMTP 连接 。 (替代说明此处)这将告诉您是否可以连接到本地SMTP 服务器按照您认为可以的方式进行。
您可能遇到以下几个问题之一:
对于问题 2,Python SMTPlib 支持使用 LMTP 进行授权连接。
对于问题 5,请尝试使用端口 25。
对于其他问题,您需要查找或 设置 协作 SMTP 服务器。
顺便说一句:正确配置和保护 SMTP 服务器并非易事...
First, test your local SMTP connection using Telnet. (Alternate instructions here) This will tell if you can connect to your local SMTP server in the way you think you can.
You probably have one of several problems:
Python SMTPlib supports authorized connections using LMTP for issue 2.
Try using port 25 for issue 5.
For the other issues, you will need to find or setup a cooperative SMTP server.
BTW: properly configuring and securing an SMTP server is not trivial...
您尝试做的是使用本地计算机作为 smtp 服务器。在 Ubuntu 中实现此目的的最简单方法是在 apt/synaptic 中安装 exim4 或 postfix-packages 之一...
确保在出现提示时不允许您不信任的计算机使用您的主机作为邮件中继。默认值应该足以避免这种情况 - 但仍然允许从您的计算机发送邮件。
另请注意,smtp 的默认端口号是端口 25,而不是代码示例中的 8025。
What you're attempting to do, is using the local machine as the smtp-server. The simplest way to achieve this in Ubuntu, would be to install one of the exim4 or postfix-packages in apt / synaptic ...
Make sure that when prompted, that you don't allow machines you don't trust to use your host as a mail-relay. The defaults should be sufficient to avoid this - yet still allow mail to be sent from your machine.
Also note that the default port-number for smtp is port 25, and not 8025 as in your code example.