为什么SMTP在本地主机上正常工作,但在网上部署时却不能正常工作?

时间:2018-06-29 18:14:21

标签: server smtp gmail

我在python上设置了SMPT,当我在本地发送消息时,它可以工作。 但是,当我在线部署应用程序时,会出现异常错误。 我在网上看到了许多解决方案,但是似乎没有一个对我有用。 有人可以帮我吗?

这是我下面的python代码

def send_email(subject, msg):

try:
    server = smtplib.SMTP('smtp.gmail.com',587)
    server.ehlo()
    server.starttls()
    server.login(EMAIL_ADDRESS, PASSWORD)
    message = 'Subject: {}\n\n{}'.format(subject, msg)
    server.sendmail(EMAIL_ADDRESS, EMAIL_ADDRESS, message)
    server.quit()
    print("Success: Email sent!")
    global sent
    sent = True
except:
    print("Email failed to send.")

1 个答案:

答案 0 :(得分:0)

大多数托管服务提供商会在云中阻止传出SMTP。您可以通过使用Web API而不是Mailgun来解决此问题,或者使用Flute Mail或开源邮政等工具为SMTP服务器获取Web API。