我正在尝试修复在 django 应用程序中看到的一个不发送邮件的错误。请注意,该应用程序运行良好,只是邮件功能失败了。我尝试收集错误日志,但找不到与发送邮件相关的任何错误。所以,我做了一个例子来尝试强制错误。这是示例:
from django.core.mail import send_mail
send_mail('hi', 'hi', '[email protected]', ['[email protected]'], fail_silently=False)
当我运行上面的代码时,出现以下错误:
Traceback (most recent call last):
File "dmail.py", line 14, in <module>
send_mail('hi', 'hi', '[email protected]', ['[email protected]'], fail_silently=False)
File "/data/servers/calendar_1/lib/python2.7/site-packages/django/core/mail/__init__.py", line 59, in send_mail
fail_silently=fail_silently)
File "/data/servers/calendar_1/lib/python2.7/site-packages/django/core/mail/__init__.py", line 29, in get_connection
path = backend or settings.EMAIL_BACKEND
File "/data/servers/calendar_1/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/data/servers/calendar_1/lib/python2.7/site-packages/django/conf/__init__.py", line 39, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
我设法通过将代码更改为以下内容来修复我的测试示例:
from django.core.mail import send_mail
from django.conf import settings
settings.configure(TEMPLATE_DIRS=('/path_to_project',), DEBUG=False, TEMPLATE_DEBUG=False)
send_mail('hi', 'hi', '[email protected]', ['[email protected]'], fail_silently=False)
但是,当我尝试将这些设置添加到 send_mail.py 时,我仍然没有从实际应用程序中收到任何邮件。有人可以清楚地向我解释如何设置 DJANGO_SETTINGS_MODULE 以便我的示例和应用程序都可以看到它吗?如果做不到这一点,有人可以告诉我如何在 django 中设置有意义的日志记录,以便我实际上在日志中看到与邮件相关的错误吗?任何提示或指导将不胜感激。