我正在尝试使用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')
答案 0 :(得分:30)
然后,在您尝试使用s.sendmail
之前,您使用s.login('user', 'password')
- http://docs.python.org/2/library/smtplib.html#smtplib.SMTP.login
如果您没有登录详细信息 - 请咨询您的系统管理员。