微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 SMTP 库使用部署在 Linode 服务器上的 Python 脚本发送电子邮件

如何解决使用 SMTP 库使用部署在 Linode 服务器上的 Python 脚本发送电子邮件

所以我创建了一个脚本,它在脚本运行完成后发送更新电子邮件。在本地一切正常。但是当在 Linode 服务器上部署和运行时,它不再工作了。代码如下:

def email(products,new_products,updated_products):
    #print(products,updated_products)
    message = EmailMessage()
    message.set_content("Products scraped: {},New products: {},Updated products: {}".format(products,updated_products))
    message['FROM'] = "e-mail"
    message['TO'] = ["e-mail"]
    message['SUBJECT'] = "Update"
    context = ssl.create_default_context()
    #set up SMTP server
    with smtplib.SMTP('smtp.gmail.com',587) as smtp:
        smtp.starttls(context=context)
        smtp.login(message['FROM'],"password")
        smtp.send_message(message)
        smtp.quit()

该行出现错误:with smtplib.SMTP('smtp.gmail.com',587) as smtp。我尝试了不同的端口,但都导致了这个错误:TimeoutError: [Errno 110] Connection timed out。有没有人遇到过这个问题?或者有人有另一种从服务器发送电子邮件的好方法吗?提前致谢!

解决方法

Linode 默认阻止外发邮件以防止垃圾邮件。

https://www.linode.com/community/questions/19082/i-just-created-my-first-linode-and-i-cant-send-emails-why-mailing-ports-25-465-a

,

尝试为您要从中发送电子邮件的电子邮件 ID 启用安全性较低的应用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。