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

咨询:无需开启Gmail“允许不安全应用”选项的登录方案(含Indy POP3场景)

无需开启Gmail“允许不安全应用”的登录方案

针对你的两个问题,核心答案是肯定的——不用开“允许不安全应用”也能正常登录Gmail收邮件,Google现在推荐的安全认证方式主要有两种,结合你用的Indy POP3组件,我给你具体的实现方案:

为什么原来的方式需要开启“允许不安全应用”

你当前用的是传统的用户名+密码直接认证,Google把这种没有额外安全验证的方式归类为“低安全应用”,所以强制要求开启那个选项才能访问。要绕过这个限制,必须使用Google认可的安全认证机制。

方案一:OAuth 2.0(推荐,适合应用分发)

这是Google目前主推的认证方式,也是最安全的,步骤如下:

  • 第一步:创建Google Cloud项目并配置OAuth 2.0
    1. 登录Google Cloud Console,创建一个新项目,启用Gmail API。
    2. 进入“API和服务”→“凭据”,创建OAuth 2.0客户端ID。因为你是Android 7应用,选择“Android”类型,填写你的应用包名和签名证书的SHA-1指纹(可以用keytool工具生成)。
  • 第二步:获取OAuth 2.0令牌
    你需要在应用中实现OAuth 2.0的授权流程,引导用户登录Google账号并授予邮件访问权限,最终获取到访问令牌(Access Token)和刷新令牌(Refresh Token)。刷新令牌可以长期使用,用来在访问令牌过期时获取新的令牌。
  • 第三步:配置Indy POP3组件
    1. 设置POP3组件的Host为pop.gmail.com,Port为995(POP3S端口)。
    2. 开启SSL:将UseTLS属性设为utUseImplicitTLS,确保你的OpenSSL库支持TLS 1.2及以上版本(你用的fulgan的OpenSSL应该满足)。
    3. 设置认证类型:将AuthType设为atOAuth2,然后把获取到的访问令牌赋值给OAuth2Token属性。
    4. 调用Connect方法,就可以不用用户名密码,直接通过OAuth 2.0认证登录了。

方案二:应用专用密码(适合个人自用场景)

如果你只是个人使用这个应用,不想折腾OAuth流程,可以用这个方案:

  1. 先给你的Google账号开启两步验证(必须开启,否则无法生成应用专用密码)。
  2. 登录Google账号的安全设置页面,找到“应用专用密码”,生成一个专门用于这个邮件客户端的密码。
  3. 在Indy POP3组件中,用这个应用专用密码代替原来的账号密码,同时保持SSL配置不变(POP3S端口+TLS),这样就不用开启“允许不安全应用”了。

注意事项

  • 如果你选择OAuth 2.0方式,要注意处理令牌过期的问题,定期用刷新令牌获取新的访问令牌,避免认证失败。
  • 确保你的OpenSSL版本是最新的兼容版本,避免出现SSL握手失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:33:54