You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wagtail formbuilder联系表单提交后无法发送邮件如何排查解决?

问题原因及修复方案

    1. 开发环境邮件后端配置被覆盖
      你的dev.py中覆写了base.py的邮件后端配置,设置为django.core.mail.backends.console.EmailBackend,该后端仅会将邮件内容打印到控制台,不会触发真实的SMTP发送请求,这也是你能在控制台看到完整邮件内容但收不到邮件的直接原因。
      修复:如果需要在开发环境测试真实邮件发送,注释掉dev.py中的EMAIL_BACKEND配置即可;如果仅需要开发环境调试,保留该配置即可,生产环境不会受影响。
    1. SMTP配置冲突
      base.py中同时启用了EMAIL_USE_TLS = True和EMAIL_USE_SSL = True,二者互斥无法同时生效。Gmail SMTP的587端口使用TLS协议,需要关闭SSL配置。
      修复:将base.py中的EMAIL_USE_SSL改为False。
    1. Gmail SMTP鉴权规则限制
      目前Gmail已不再支持直接使用账号密码作为SMTP登录凭证,直接填写账户密码会被服务端拦截。
      修复:先开启对应谷歌账号的两步验证,随后生成专属的应用密码,将EMAIL_HOST_PASSWORD替换为生成的应用密码即可。
    1. 模型类命名不合法
      contact/models.py中定义的模型类名为Form Page,中间包含空格,不符合Python命名规范,同时ParentalKey关联的字符串也对应写为了'Form Page',会导致模型逻辑异常。
      修复:将类名修改为无空格的FormPage,同时将ParentalKey中的关联字符串同步改为'FormPage'。
  • 额外注意事项
    Gmail SMTP服务限制发件人必须为当前认证的账号,不要在表单页面的后台配置中填写其他发件地址,否则会触发发件权限校验失败,导致邮件发送被拦截。

内容的提问来源于stack exchange,提问作者Ranjitha Sanker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:24:02