我只是想学习如何使用电子邮件模块和smtplib发送电子邮件。这就是我得到的。
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import smtplib
>>> from email.message import EmailMessage
>>> with open("file.txt") as fp:
... msg = EmailMessage()
... msg.set_content(fp.read())
...
>>> msg['Subject'] = f'The contents of file'
>>> msg['From'] = "s*i*a*d*1*@gmail.com"
>>> msg['To'] = "s*i*a*k*9*@gmail.com"
>>> s = smtplib.STMP('localhost')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'smtplib' has no attribute 'STMP'
>>> s = smtplib.SMTP('localhost')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python3.6/smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python3.6/smtplib.py", line 307, in _get_socket
self.source_address)
File "/usr/lib/python3.6/socket.py", line 724, in create_connection
raise err
File "/usr/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
我想使用localhost托管它,并且抛出此错误。有人可以告诉我如何解决吗?
答案 0 :(得分:0)
很可能没有SMTP在本地主机上运行(接受传入的SMTP连接)。
在Unix / Linux上,本地SMTP服务器是默认的,而不是在MS OS上。
AFAIR在Ubuntu本地SMTP服务器上,默认情况下由postfix软件包提供。它也可以由senndmail或exim软件包提供(或不那么受欢迎)。