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

在Django/Wagtail中使用send_mail无法自定义发件人邮箱

Gmail SMTP 自定义发件人不生效的解决方案

核心原因

Gmail的SMTP服务会强制替换自定义发件人为你的登录账号(即EMAIL_HOST_USER),除非你完成别名邮箱配置或开启对应权限。

解决步骤

  • 添加别名邮箱到Gmail账号

    1. 登录Gmail,进入「设置」→「账号和导入」
    2. 在「发送邮件为」栏目,点击「添加另一个邮箱地址」
    3. 输入目标发件人邮箱,按提示完成验证(通常是接收验证码邮件)
    4. 验证后,可设置该别名为默认发件地址,或在发送时指定
  • 使用应用密码(推荐,适用于开启两步验证的账号)

    1. 登录Google账户,进入「安全性」→「应用密码」(仅开启2FA后可见)
    2. 选择「邮件」和对应设备(选「其他(自定义名称)」即可),生成应用密码
    3. 在Django的settings.py中,将EMAIL_HOST_PASSWORD替换为这个生成的应用密码,而非Gmail账户密码
  • 检查Django配置示例
    确保你的邮件配置正确:

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = 'your-gmail-account@gmail.com'
    EMAIL_HOST_PASSWORD = 'your-generated-app-password'
    
  • 发送邮件的格式要求
    指定from_email时,要用已添加的别名邮箱,如需显示友好名称,格式为:"新闻通讯订阅" <your-alias-email@example.com>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 05:42:11