首页 > 解决方案 > 在 Python 中的 smtplib.SMTP(“smtp.gmail.com”, 587) 期间超时

问题描述

以下代码在另一台计算机上完美运行:

def send_email(user, pwd, recipient, subject, body):
#lb.send_email('AlirezaFedEx@gmail.com','P&ENLAMS','info@nka-it.com','Test','This is a test')

import smtplib
FROM = 'AlXXX@gmail.com'
TO = ['info@XXX.com'] # recipient if isinstance(recipient, list) else [recipient]
SUBJECT = 'Test'#subject
TEXT = 'This is a test' #body

# Prepare actual message
message = """From: %s\nTo: %s\nSubject: %s\n\n%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)

try:
    server = smtplib.SMTP('smtp.gmail.com',587)
    server.ehlo()
    server.starttls()
    server.login(user, pwd)
    server.sendmail(FROM, TO, message)
    server.close()
    print('successfully sent the mail')
except Exception as err:
    print("failed to send mail:" + str(err))  

运行以下部分时:

server = smtplib.SMTP('smtp.gmail.com',587)

它开始冻结并最终给出以下错误:

TimeoutError: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

我检查了浏览器的代理并禁用了代理,但仍然出现错误。请问有什么建议吗?

标签: python-3.xsmtp

解决方案


你在使用代理吗?如果是这样,请禁用代理并重试。如果您有活动的互联网连接,这应该可以正常工作。


推荐阅读