Django 1.7邮件API“不安全”吗?

时间:2014-10-02 20:27:48

标签: django

看到this answer我了解到谷歌阻止某些应用程序连接,因为这些应用程序“缺乏现代安全标准的应用”,我可以让谷歌允许我的帐户从这些应用程序连接 - 我必须明确地做到这一点。

这是由于Django邮件中的一个问题:

send_mail(
        u"Message",
        render_to_string('template.txt', {'data': data}),
        settings.EMAIL_HOST_USER,
        [dest['address'] for dest in settings.FORM_DESTINATIONS],
        html_message=render_to_string('template.html', {'data': data}),
)

我的EMAIL_设置涉及@ gmail.com帐户(SSL / 465或TLS / 587都无效)。

这是否意味着Django 1.7有一个不安全的邮件机制?在这种情况下,“安全”是什么意思,Django没有应用哪些邮件标准?

编辑即使我提供了这个问题的背景信息(一个尖锐的答案和相关的链接/文档),也许一些读者可能找不到谷歌在哪里谈论“安全”/“不安全”的应用程序。通过使用您的Google帐户凭据输入here,可以选择告知“安全性较低的应用”,该应用会导致this page,其中包含“更多信息”链接,指向Here (this link does not need authentication)

1 个答案:

答案 0 :(得分:2)

使用Django通过SMTP发送电子邮件要求您以明文形式在服务器上存储密码。显然,Google认为以纯文本格式存储密码存在安全风险,并希望您使用OAuth 2.0或双因素身份验证以及特定于应用程序的密码。看到 http://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html

由您决定是否考虑在服务器上以纯文本格式存储电子邮件密码存在安全风险。请记住,您通常也会以纯文本格式存储数据库密码,因此当攻击者能够读取您的应用程序设置时,无论如何它都是游戏。

我建议启用双因素身份验证并使用特定于应用程序的密码,特别是如果您使用该Google帐户不仅仅是从服务器发送邮件。