settings.py中有关Django电子邮件主机数据的安全问题

时间:2019-04-23 15:00:44

标签: django sendmail

我已经按照django文档中的说明为我的Gmail帐户设置了电子邮件设置:

settings.py:

  EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
  EMAIL_HOST = 'smtp.gmail.com'
  EMAIL_USE_TLS = True
  EMAIL_PORT = 587
  EMAIL_HOST_USER = 'me@gmail.com'
  EMAIL_HOST_PASSWORD = 'password'

因此,也许我对此很担心,但是在将这种敏感数据写入我的settings.py-file中时,我对安全性存有疑问。

那么,有没有更安全的方法来设置它?

1 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是通过环境变量提供此类敏感数据。您可以手动设置环境变量或通过.env文件。有许多python软件包可用于设置env文件中的环境变量(like this)。然后使用os.environ获取这些变量。

例如,您设置了EMAIL_HOST_USER环境变量,并且可以在这样的设置中进行定义。

EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')