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

Android Studio中Gmail发件触发安全警告且无法收件的问题求助

解决Gmail安全警告+邮件无法接收的问题

嘿,我完全懂你现在的困扰——把账号密码写进代码里本来是想方便用户发邮件,结果反而触发谷歌的安全警报,还收不到邮件,这太闹心了!

问题根源

谷歌现在对账号安全管控非常严格,直接硬编码密码让第三方应用登录Gmail,会被判定为高风险行为:一方面谷歌会触发安全警告(因为它无法区分是你自己的应用还是恶意第三方),另一方面这种非授权的登录请求大概率会被谷歌直接拦截,导致邮件根本发不出去。

正确的解决方案(按优先级排序)

1. 立即停止硬编码账号密码!

这是最基础的安全原则,硬编码的密码很容易泄露,一旦被人拿到你的账号就彻底失控了,赶紧把代码里的密码删掉。

2. 使用OAuth 2.0(推荐长期方案)

这是谷歌官方推荐的安全授权方式,不需要暴露你的账号密码,用户通过授权流程就能帮你发送邮件:

  • 去谷歌云平台创建一个新项目,启用Gmail API。
  • 创建OAuth客户端ID,根据你的应用类型(比如桌面/移动/web)选择对应的应用类型。
  • 在你的代码里集成OAuth 2.0授权流程:用户首次使用时会跳转到谷歌的授权页面,授权后你的应用会拿到一个短期的访问令牌,用这个令牌来调用Gmail API发送邮件。
  • 这种方式完全符合谷歌的安全规范,不会触发任何安全警告,邮件也能正常送达。

3. 应用专用密码(临时过渡方案,仅限开启两步验证的账号)

如果你暂时没时间集成OAuth 2.0,可以用这个临时方案:

  • 登录你的谷歌账号,进入「安全」设置页面。
  • 找到「应用专用密码」(前提是你已经开启了两步验证),生成一个16位的专用密码。
  • 把代码里的原密码替换成这个专用密码,它只能用于指定的应用,不会影响你的主账号密码安全。

额外注意事项

  • 不管用哪种方案,都不要把敏感信息(比如OAuth客户端密钥、应用专用密码)硬编码到代码里,用环境变量或者加密的配置文件来存储,绝对不要提交到GitHub这类公开仓库。
  • 测试的时候先自己用这个功能发几封邮件,确认授权流程正常,邮件能顺利收到。

按照上面的方法改完,谷歌的安全警告应该会消失,用户的邮件也能正常发送到你的邮箱啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:59:41