为什么我不能使用Python的smtplib给自己发送邮件?

3

我正在使用从这里获取的代码:

import smtplib

def prompt(prompt):
    return raw_input(prompt).strip()

fromaddr = prompt("From: ")
toaddrs  = prompt("To: ").split()
print "Enter message, end with ^D (Unix) or ^Z (Windows):"

# Add the From: and To: headers at the start!
msg = ("From: %s\r\nTo: %s\r\n\r\n"
       % (fromaddr, ", ".join(toaddrs)))
while 1:
    try:
        line = raw_input()
    except EOFError:
        break
    if not line:
        break
    msg = msg + line

print "Message length is " + repr(len(msg))

server = smtplib.SMTP('localhost')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

我把我的Gmail邮箱账号放在发件人和收件人中,但是出现了这个错误提示:
Traceback (most recent call last):
  File "C:/Python27/smtpExample.py", line 24, in <module>
    server = smtplib.SMTP('localhost')
  File "C:\Python27\lib\smtplib.py", line 242, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Python27\lib\smtplib.py", line 302, in connect

    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Python27\lib\smtplib.py", line 277, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "C:\Python27\lib\socket.py", line 571, in create_connection
    raise err
error: [Errno 10061] No connection could be made because the target machine actively refused it
1个回答

6

但如果你真的想让这些邮件到达任何人,最好使用你提供商的SMTP服务器。 - vartec
你所说的提供者是什么意思?互联网服务提供商吗?这样可以吗? http://geekswithblogs.net/ferdous/archive/2011/03/15/smtp-setup-for-windows-7.aspx - 0x90
@ZoZo123:我指的是你的电子邮件提供商,比如 Gmail:http://www.nixtutor.com/linux/send-mail-through-gmail-with-python/。 - vartec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接