开发者社区> 问答> 正文

使用django发送电子邮件而没有设置文件

是否可以使用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()才能访问设置。

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

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 18:51:04 445 0
1 条回答
写回答
取消 提交回答
  • 是的,您可以使用不带settings.py文件的Django。当错误消息指出时,您必须调用settings.configure()来手动配置设置。

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

    将您要覆盖的设置传递给configure()函数;否则,Django将使用默认值。

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

    回答来源:stackoverflow

    2020-03-23 18:51:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载