如何使用Python发送简单的电子邮件

时间:2014-07-20 19:31:00

标签: python linux email smtp

在将此标记为重复之前;我也读过其他帖子。我尝试发送电子邮件就像在php中使用mail()函数一样简单。我只是尝试the example from the official python docs。但是当我尝试连接我的linux机器上的localhost时,我得到:

>>> import smtplib
>>> smtplib.SMTP('localhost')
Traceback (most recent call last):
  File "<input>", 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
error: [Errno 111] Connection refused

我认为这个例子并不需要运行电子邮件服务器(就像php mail()函数不需要运行电子邮件服务器一样)。

任何想法我可能做错了或如何让它发送电子邮件?欢迎所有提示!

1 个答案:

答案 0 :(得分:1)

php mail()函数 需要中继来发送消息。它在Linux机器上defaults to sendmail

在Windows上,您必须give it the address of a SMTP server

要使任何程序发送电子邮件,您需要连接到SMTP服务器。没有乱跑。