如何在 python 中设置本地主机?

发布于 2024-11-12 06:14:47 字数 258 浏览 5 评论 0原文

该项目能够从 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满地尘埃落定 2024-11-19 06:14:47

首先,使用 Telnet 测试本地 SMTP 连接 。 (替代说明此处)这将告诉您是否可以连接到本地SMTP 服务器按照您认为可以的方式进行。

您可能遇到以下几个问题之一:

  1. 您的计算机上没有 SMTP 服务器,或者;
  2. 您有 SMTP,但需要密码和/或;
  3. 您的本地计算机上有 SMTP,但未正确配置或配置为本地支持 SMTP ->互联网或;
  4. 机器当前的 IP 或 DNS 设置或;
  5. 从 Python 调用本地 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:

  1. No SMTP server on your machine or;
  2. You have SMTP but it requires a password and/or;
  3. You have SMTP on your local machine but it is not configured properly or configured to support SMTP locally -> Internet or;
  4. The machine's current IP or DNS setup or;
  5. The way you are calling the local SMTP server from Python.

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...

一个人练习一个人 2024-11-19 06:14:47

您尝试做的是使用本地计算机作为 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文