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

如何用Dart通过Gmail发送邮件?排查535认证失败问题

解决Gmail SMTP认证失败(535错误)的方案

核心原因

谷歌目前默认禁止使用普通账号密码通过SMTP登录Gmail,必须使用应用专用密码(需先开启两步验证),或启用已逐步淘汰的「不太安全的应用访问」(不推荐)。

具体解决步骤

1. 开启谷歌账号两步验证

  • 登录目标谷歌账号,进入安全设置界面
  • 找到「两步验证」选项,按引导完成开启(需绑定手机号或其他验证方式)

2. 创建应用专用密码

  • 开启两步验证后,返回安全设置页面,找到「应用专用密码」入口
  • 选择「邮件」作为应用类型,设备可选择「其他」并自定义名称
  • 生成的16位无空格密码,就是代码中需要使用的password值

3. 调整代码配置

将原代码中的普通密码替换为刚生成的应用专用密码,同时确保username与from地址完全一致:

String username = "profept.recuperacao@gmail.com";
String password = "生成的16位应用专用密码";
final smtpServer = gmail(username, password);

final message = Message()
  ..from = Address(
    'profept.recuperacao@gmail.com',
    'ProfEPT recuperação de senhas',
  )
  ..recipients.add(destinatario)
  ..subject = "email subject"
  ..html = "email body";

try {
  final sendReport = await send(message, smtpServer);
  print('email send ${sendReport.mail}');
} catch (e) {
  print('Error: $e');
}

额外排查点

  • 登录谷歌账号查看「最近的安全活动」,若SMTP登录请求被拦截,手动选择「允许」
  • 若无法开启两步验证,可尝试开启「不太安全的应用访问」(仅部分旧账号或特定地区支持,谷歌已逐步禁用此功能)

内容的提问来源于stack exchange,提问作者ProfEPT Recuperação

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:10:11