【问题标题】:How to send simple email using Python如何使用 Python 发送简单的电子邮件
【发布时间】:2014-09-11 07:26:39
【问题描述】:

在将其标记为重复之前;我也阅读了其他线程。我正在尝试发送一封电子邮件,就像使用 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() 函数不需要运行电子邮件服务器一样)。

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

【问题讨论】:

  • 你的本地主机上有mail server 吗?如果没有,那么您将无法连接到它。

标签: python linux email smtp


【解决方案1】:

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

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

为了让任何程序发送电子邮件,您需要连接到 SMTP 服务器。没有四处奔波。

【讨论】:

  • 啊!我从来不知道 php mail() 函数实际上需要一个外部程序(因为它总是“正常工作”)。但我只是sudo apt-get installed 发送邮件,现在它就像一个魅力!谢谢你启发我!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 2023-02-22
  • 2019-10-18
  • 2012-06-30
相关资源
最近更新 更多