python - 在Python中设置环境变量

标签 python email django-settings

长时间的爬行者,第一次来电。 我试图创建并使用environ var从settings.py文件发送gmail(smtp),但显然我做错了,因为当我输入密码时它起作用了,但是当我使用os.environ.get隐藏时密码。

我想我没有正确调用环境变量,但我不知道!我收到身份验证错误

import os

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="631b1b1b1b4e4e4e4e23040e020a0f4d000c0e" rel="noreferrer noopener nofollow">[email protected]</a>'
EMAIL_HOST_PASSWORD = 'Thisworkedfine'

但是当我使用它时,在我的系统属性中定义“EMAIL_USER”和“EMAIL_PASS”后它不起作用。


EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')

来自 hell 的错误:

SMTPSenderRefused at /password-reset/
(530, b'5.5.1 Authentication Required. Learn more at\n5.5.1  https://support.google.com/mail/?p=WantAuthError c2sm2597974pjs.13 - gsmtp', 'webmaster@localhost')

哈普!

最佳答案

一种方法是在另一个 python 文件中设置变量并导入该文件。

创建一个文件,例如myEnvVal.py

import os
# Set environment variables
def setVar():
    os.environ['EMAIL_USER'] = 'xxxx----@gmail.com'
    os.environ['EMAIL_PASSWORD'] = 'Thisworkedfine'

现在导入此文件

import os
import myEnvVal
myEnvVal.setVar()
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')

关于python - 在Python中设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57539884/

相关文章:

python - pandas 中的 groupby() 和索引值

用于计算 : 1 + 2 + 4 + 8 + 16 + 32 + 64 + . ... + n 序列项之和的 Python 程序,其中 n 是输入

html - Alt标签字体大小

python - Pandas :如何检查另一列特定值之后是否有一系列正值

python - 矢量化 numpy 追加循环

java - 在java中创建一个电子邮件对象并将其保存到文件

c# - 解析 HTML 页面,包括所有 css 样式

python - 安装 Graphite 时出现 Django 错误 - settings.DATABASES 配置不正确。请提供 ENGINE 值

python - 模型使用时覆盖 Django 中的设置

python - 在 Heroku 上运行 Django 自定义 manage.py 任务 - 导入问题