Python SMTP Gmail认证错误(通过Gmail SMTP服务器发送电子邮件)

3
我有以下代码
import smtplib
from email.mime.text import MIMEText



smtpserver = 'smtp.gmail.com'
AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
smtpuser = 'admin@myhost.com'  # for SMTP AUTH, set SMTP username here
smtppass = '123456'  # for SMTP AUTH, set SMTP password here

RECIPIENTS = ['online8@gmail.com']
SENDER = 'admin@myhost.com'

msg = MIMEText('dsdsdsdsds\n')
msg['Subject'] = 'The contents of iii'
msg['From'] = 'admin@myhost.com'
msg['To'] = ''online8@gmail.com''

mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(smtpuser, smtppass)
mailServer.sendmail(smtpuser,RECIPIENTS,msg.as_string())
mailServer.close()

这段代码在我的桌面电脑上运行正常,但出现了以下错误:

smtplib.SMTPAuthenticationError: (535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 21sm4713429agd.11')

在我的Linux服务器上。

不确定出了什么问题,我是否需要在我的Linux服务器上打开一些端口?


我的桌面正在使用Python2.5(正常工作),Linux系统上使用Python2.6(失败了)。 - icn
2个回答

6

很显然,端口587需要开放,但很可能已经开放了(否则你就不会收到详细的错误消息)。Python 2.5和2.6应该没有区别。我认为问题与在当前拒绝登录的计算机上“解决验证码”有关。请按照错误消息中的URL中的详细说明操作:http://mail.google.com/support/bin/answer.py?answer=14257


救命稻草!非常感谢! - icn

2
import random,time
for i in range(1,100):
    y=random.randint(30,300)
    time.sleep(y)
    print ("Mailing for fun, Mail No: " + str(i))
    msg = MIMEText('Testing mailing \n Mail No:' + str(i))
    msg['Subject'] = 'Mail Number: ' + str(i)

随机设置电子邮件间隔以检查 SMTP 行为 :)

通过一些修改和调整,我让它可以工作,以检查我们的间歇性邮件反弹问题。


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