首页 > 解决方案 > settings.py 中有关 Django 电子邮件主机数据的安全问题

问题描述

我已经为我的 Gmail 帐户设置了我的电子邮件设置,就像 django 文档中描述的那样:

设置.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 文件时,我对安全性有一些疑问。

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

标签: djangosendmail

解决方案


这样做的正确方法是通过环境变量提供这样的敏感数据。您可以手动设置环境变量或通过.env文件。有许多 python 包用于从文件中设置环境变量(像这样)。env然后使用os.environ.

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

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

推荐阅读