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

在Django中发送邮件确认遭Google拒绝,求非低安全应用替代方案

Django发送邮件535认证错误的替代解决办法
  • 使用Google应用专用密码
    若你的Google账号开启了两步验证,普通密码无法通过SMTP认证,需生成应用专用密码替代:

    1. 登录Google账号安全设置页面
    2. 找到「应用专用密码」选项(需两步验证已启用)
    3. 生成一个针对Django的专用密码,替换settings.py中的EMAIL_HOST_PASSWORD
  • 通过Gmail API发送邮件
    绕开SMTP密码验证,使用API调用发送:

    1. 在Google Cloud控制台创建项目,启用Gmail API并获取服务账号密钥
    2. 安装依赖库:pip install django-smtp-api
    3. 修改Django配置:
      EMAIL_BACKEND = 'smtpapi.backends.SMTPAPIBackend'
      SMTPAPI_KEY = '你的服务账号密钥内容'
      SMTPAPI_FROM_EMAIL = 'your-account@gmail.com'
      
  • 切换至第三方邮件服务
    专业邮件服务(如SendGrid、Mailgun、Postmark)比Gmail SMTP更稳定,且无需处理Google的安全限制:
    以SendGrid为例:

    1. 注册账号并获取API密钥
    2. 安装依赖:pip install django-sendgrid-v5
    3. 配置settings.py:
      EMAIL_BACKEND = "sendgrid_backend.SendgridBackend"
      SENDGRID_API_KEY = "你的SendGrid API密钥"
      DEFAULT_FROM_EMAIL = 'your-email@example.com'
      
  • 核对Django邮件配置细节
    确认配置无拼写或参数错误:

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = '你的完整Gmail邮箱地址'
    EMAIL_HOST_PASSWORD = '正确的应用专用密码'
    

    注意:确保邮箱账号未被Google限制,且TLS/端口设置符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:15:19