Wagtail 5解决配置发送邮件的 smtp 服务后,无法接收邮件
•
2024-02-20
•
文章类别:
框架 & CMS
•
阅读量:173
Wagtail 解决配置发送邮件的 smtp 服务后,无法接收邮件的问题。
SMTP 配置
在 Wagtail 中的 base.py 文件中配置 smtp 发送邮件后端,关于 smtp 的配置:
网易邮箱的配置:
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.163.com"
EMAIL_USE_SSL = True
EMAIL_PORT = 465
EMAIL_HOST_USER = "u1shizhi@163.com"
EMAIL_HOST_PASSWORD = "OYQJEISLJEOGHCLR"
详细信息查看:django 5 使用网易邮箱发送邮件
QQ 邮箱配置
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.qq.com"
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = "u1shizhi@qq.com"
EMAIL_HOST_PASSWORD = "jisljedsljdiwjg"
详细信息查看:django 5 使用 QQ 邮箱发送邮件
但是在配置 smtp 后,一切配置都正确,就是查看邮箱,无法收到邮件。
原因分析
使用 Wagtial 命令生成的项目,默认情况下使用配置文件是 settings/dev.py
,settings/dev.py
在文件的开始导入 settings/base.py
中的配置,如果你没有修改 wsgi.py 文件中使用配置文件,无论你是使用 Apache 或 Nginx 服务器,还是直接使用 python manage.py runserver
命令,使用的都是 settings/dev.py
文件。
默认在该文件中配置了邮件后端 EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
,该配置覆盖了配置的 smtp 邮件后端。
解决方法
解决在配置 smtp 后,无法收到邮件的方法有两个:
- 删除 dev.py 文件中的邮件后端配置
- 使用 prod.py 配置文件
删除dev.py文件中的邮件后端配置
直接注释掉该行,或者直接删除该行。
使用prod.py配置文件
prod.py 配置文件是在生产环境中使用的配置文件,该文件中没有邮件后端配置。
修改文件 wsgi.py,把如下内容:
os.environ.setdefault(
"DJANGO_SETTINGS_MODULE",
"demo.settings.dev",
)
修改为:
os.environ.setdefault(
"DJANGO_SETTINGS_MODULE",
"demo.settings.prod",
)
0 评论