在接下来的几周内,我们将从交易所切换到谷歌托管的邮件,我正在尝试弄清楚如何设置电子邮件,以便我们可以从 django 应用程序内部发送
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='someone@example.com'
EMAIL_HOST_PASSWORD='16characters'
EMAIL_USE_TLS=True
EMAIL_PORT=587
所以这些是我的电子邮件设置,困扰我的部分是 16 个字符的应用程序专用密码很快就会提交到我们的 git 存储库。
如果我尝试在 Web 前端使用此密码,它会告诉我不要使用特定于应用程序的密码,而是使用我的帐户密码。这很好,至少网络界面不会让他们进入。但是这还允许访问/通过什么?在创建此密钥时没有对其施加任何限制(无法对其进行限制,只是一种“命名”它的方式)因此似乎有人可以将此密钥与 android 手机一起使用并且可以完全访问我的帐户,完全违背了 2 因素身份验证的目的。
那么,当您的应用程序向其他人发送错误报告(针对 500 个)或警报时,您如何设法将 google 用作电子邮件提供商?我见过的所有智能主机设置也需要用户名/密码,因此它会将其保留在存储库之外,但实际上并不能解决问题。
现在看来,如果我想保证我的帐户安全,我必须从谷歌购买一个额外的“用户”并为该用户创建 ASP 以发送电子邮件。
PS:刚刚借了一部不同的手机,并证明它确实可以让他们按预期访问我的帐户。似乎 ASP 可能需要将节点锁定到特定 IP 的能力,或者需要有用于发送的幻象帐户或其他东西......