1

是否可以使用实用程序 django sendmail 执行以下操作?

>>> import os
>>> from django.core.mail import send_mail
>>> os.environ['EMAIL_BACKEND'] = 'django.core.mail.backends.smtp.EmailBackend'
>>> os.environ['EMAIL_HOST'] = 'smtp.sendgrid.net'
... etc.
>>> send_mail(
...     'Subject here',
...     'Here is the message.',
...     'from@example.com',
...     ['to@example.com'],
...     fail_silently=False,
... )

django.core.exceptions.ImproperlyConfigured:请求设置 EMAIL_BACKEND,但未配置设置。您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。

如果是这样,我该怎么做?

4

1 回答 1

2

settings.py是的,您可以在没有文件的情况下使用 Django 。如错误消息所述,您必须调用settings.configure()手动配置设置。

>>> from django.conf import settings
>>> settings.configure(EMAIL_HOST='smtp.sendgrid.net', other_settings...)

将要覆盖的设置传递给configure()功能;否则 Django 将使用默认值。


有关更多信息,请参阅相关文档:使用设置而不设置DJANGO_SETTINGS_MODULE

于 2020-03-17T00:48:47.077 回答