"如何安全地使用Python和Gmail作为提供商发送电子邮件?"

2024-05-19 08:11:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用Python脚本给自己发邮件,幸运的是我看到了这篇文章:

How to send an email with Gmail as provider using Python?

问题是,smtplib以纯文本发送脚本的密码,我对其安全性持怀疑态度。此外,我的脚本包含纯文本的用户名和密码。有没有什么好方法可以使用Python发送电子邮件而不必将我的密码保持为纯文本?

我在StackOverflow上也看到了这个: Python smtplib security 但答案并不能完全帮助我解决这场冲突。但是,我还没有准备好放弃。


更多信息:我正在尝试将我的覆盆子Pi设置为一个可以浏览网站的服务器。当有关网站的特定内容发生变化时,我希望通过电子邮件通知。然而,我不想让我的Pi坐在一个脚本,其中有我的用户名和密码的纯文本。


Tags: to文本脚本ansend密码网站电子邮件
3条回答

连接使用STARTTLS,因此它不会以明文形式通过internet发送。

函数server.starttls()在端口465上启动与服务器的加密通信,而不是在正常端口25上启动未加密的SMTP邮件通信。

即使使用starttls我也被Gmail阻止了从Python脚本发送电子邮件(这在过去很有效)。。。我得到一个SMTPAuthenticationError链接,可以通过浏览器继续登录,这对我的Python脚本试图通过smtplib发送邮件没有帮助。我的帐户目前没有“两步验证”设置。

我必须转到我的Google帐户(在浏览器中),然后选择一个选项“启用对不太安全的应用程序的访问”
https://www.google.com/settings/security

更改后,我的脚本可以再次工作。看起来Google真的希望我们使用两步验证,然后使用特定于应用程序的密码。我想我会这样做,并忍受必须输入一个短信代码登录我的电子邮件现在,然后。。。

一个明显的解决方案是

getpass.getpass()

在开始运行时获取密码,并将其存储在内存中。

相关问题 更多 >

    热门问题