如何在python中设置localhost?

时间:2011-06-04 20:48:25

标签: python sockets smtp localhost

该项目是能够从Python中发送电子邮件。我可以成功发送到例如“smtp.gmail.com”,但是使用localhost或127.0.0.1会返回“errno 111,连接被拒绝”。声明是

    server = smtplib.SMTP('127.0.0.1', 8025)

注意: 我正在运行Ubuntu,Python 3.2或Python 2.7,这取决于这里最精彩的人们所知道的,我的编程知识可以被描述为有限的。

2 个答案:

答案 0 :(得分:1)

首先,test your local SMTP connection using Telnet。 (替代说明here)这将告诉您是否可以按照自己的方式连接到本地SMTP服务器。

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

  1. 您机器上没有SMTP服务器或;
  2. 您有SMTP,但需要密码和/或;
  3. 您的本地计算机上有SMTP,但未正确配置或配置为在本地支持SMTP - >互联网或;
  4. 本机的当前IP或DNS设置或;
  5. 从Python调用本地SMTP服务器的方式。
  6. Python SMTPlib支持使用LMTP对问题2进行授权连接。

    尝试使用端口25处理问题5.

    对于其他问题,您需要找到或setup合作SMTP服务器。

    BTW:正确配置和保护SMTP服务器并非易事......

答案 1 :(得分:1)

您尝试做的是使用本地计算机作为smtp-server。在Ubuntu中实现这一目标的最简单方法是在apt / synaptic中安装exim4或postfix-package之一......

确保在出现提示时,您不允许您不信任的计算机将您的主机用作邮件中继。默认值应该足以避免这种情况 - 但仍然允许从您的计算机发送邮件。

另请注意,smtp的默认端口号是端口25,而不是代码示例中的8025.