为什么python-dotenv在Django项目中无法正常工作

问题描述

我正在尝试使用 emails 模块和 python-dotenv 作为环境变量通过电子邮件发送django表单数据。

.env 文件位于 settings.py 中,并且相应地将环境加载到 settings.py 中,但是我尝试在 views.py 我试图在其中将aws ses凭据设置为环境变量,并且一切似乎正常,但是电子邮件未发送,但随后我重新输入了aws ses凭据放入 views.py ,一切都会恢复正常。

有什么想法为什么不能通过env发送电子邮件

views.py中的代码

import os
import emails

from dotenv import load_dotenv,find_dotenv


load_dotenv(find_dotenv(),verbose=True)
...

带有信任的代码的一部分:

...
            try:
                # Send the email
                r = message.send(
                    to= os.environ.get("RECEIPIENT"),smtp={
                        "host": os.environ.get("HOST"),"port": 587,"timeout": 5,"user": os.environ.get("USER"),"password": os.environ.get("PASSWORD"),"tls": True,},)
            except BadHeaderError:
                return HttpResponse(f"response{r.status_code == 250}")

我还在下面的示例中使用 os.getenv()python-dotenv官方网站上尝试了此操作:

...
            try:
                # Send the email
                r = message.send(
                    to=os.getenv("RECEIPIENT"),smtp={
                        "host": os.getenv("HOST"),"user": os.getenv("USER"),)
            except BadHeaderError:
                return HttpResponse(f"response{r.status_code == 250}")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)