python - 在 Django 中更好地保​​护我的电子邮件密码

标签 python django email

我的网站上有一个表格,提交后,它会向我自己的邮箱发送一封电子邮件。

我的问题是,为此,我在 settings.py 中硬编码了我的电子邮件和密码,如下所示:

EMAIL_HOST_USER = 'myemail@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'

但我觉得它根本不安全,所以我尝试找到一种方法让它不在我的settings.py中硬编码。根据我存储 key 的方式,我尝试了以下操作:

with open('/Users/myapp/email.txt') as f:
    EMAIL_HOST_USER = f.read().strip()

with open('/Users/myapp/email_password.txt') as f:
    EMAIL_HOST_PASSWORD = f.read().strip()

但是没有成功。它会引发 SMTP 错误:“用户名和密码不被接受。”

关于如何更好地保护我的密码有什么想法吗?

最佳答案

您应该使用环境变量,然后在设置中读取它,例如:

import os
EMAIL_HOST_USER = os.environment.get('EMAIL_HOST_USER')

然后您可以将值保留在您的存储库中。

该环境需要对运行 Django 的进程有效。

关于python - 在 Django 中更好地保​​护我的电子邮件密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45417853/

相关文章:

javascript - 如何正确地将模板从 HTML5 UP 导入到 django

PHP 邮件不发送但没有错误

python - 如何使用 pyparsing 一次性解析多个元素?

python - 无法迭代二维数组来标准化数据

Python - 文件名中的空格

python - URL 中的 Django Rest 所需参数

python - UUIDField 可以用作 Django 3.2.^ 中的 default_auto_field 吗?

java - 不使用 JavaMail 通过 Gmail 发送电子邮件

html - 通过电子邮件共享 url(自动捕获 url)

python - 如何用 Sympy 绘制点?