Python - smtp需要身份验证

时间:2013-01-07 13:04:26

标签: python email authentication smtp smtplib

我正在尝试使用python发送电子邮件,但尽管我使用的是本地SMTP服务器,但它似乎需要身份验证。我运行的代码和我得到的错误可以在下面看到。我使用端口587,因为无法在我的服务器上打开端口25。你能帮我在端口587上使用python设置本地SMTP服务器吗?

>>> import smtplib
>>> from email.mime.text import MIMEText
>>> msg = MIMEText('Test body')
>>> me = 'support@mywebsite.com'
>>> to = 'myemail@gmail.com'
>>> msg['Subject'] = 'My Subject'
>>> msg['From'] = me
>>> msg['To'] = to
>>> s = smtplib.SMTP('localhost', 587)
>>> s.sendmail(me, [to], msg.as_string())

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/smtplib.py", line 722, in sendmail
    raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, '5.7.0 Authentication required', 'support@mywebsite.com')

1 个答案:

答案 0 :(得分:30)

然后,在您尝试使用s.sendmail之前,您使用s.login('user', 'password') - http://docs.python.org/2/library/smtplib.html#smtplib.SMTP.login

如果您没有登录详细信息 - 请咨询您的系统管理员。