【问题标题】:How to use GMail as a free SMTP server and overcome captcha如何使用 GMail 作为免费的 SMTP 服务器并克服验证码
【发布时间】:2010-12-09 03:12:11
【问题描述】:

GMail 可以用作 SMTP 服务器。我已经编写了执行此操作的代码。但众所周知,GMail 有时可能会使用验证码(图像验证,他们称之为)进行身份验证。同样的事情可能是拒绝 SMTP 身份验证的原因。

正如我所见,当您第一次尝试从某些机器登录时,谷歌会显示图像验证。从同一台机器(到同一帐户)的所有连续登录都使用常规登录。我有点担心这个验证码可能还会因为一些我无法控制的其他原因再次出现。

所以。 在需要采取特殊措施时是否仍可进行身份验证?以及如何?

我还应该提到,通过网络浏览器从机器登录也可以启用编程 SMTP 身份验证。

【问题讨论】:

  • 也许我理解错了,但是你能告诉我如何检测邮件没有发送吗?就我而言,我“盲目地”发送并祈祷 CAPTCHA 机制不要启动,不知道它是否有效。 (它发生了 - 很多)谢谢!
  • 这个问题有点老了,但今天我不得不处理类似的事情。我写了一个答案来解释我是如何向前迈进的。祝你好运!

标签: authentication smtp gmail captcha


【解决方案1】:

恕我直言,在不实施用户同意工作流程或“破解您帐户的安全设置”的情况下,正确的方法是通过@987654322 获取refresh token @ 代表Offline Access。之后,您可以使用 OAuth 2.0 API 进行身份验证。

我在阅读Nodemailer/Gmail - What exactly is a refresh token and how do I get one?后发现它工作了

【讨论】:

  • 在哪里可以直接在浏览器上使用刷新令牌?
  • @AntoineDussarps 我记不清了,但我记得是发送令牌以请求身份验证令牌,然后在 api 请求中使用身份验证令牌
【解决方案2】:

试试:

http://www.google.com/accounts/DisplayUnlockCaptcha

或者对于您的域的 Google Apps:

https://www.google.com/a/yourdomain.com/UnlockCaptcha

我敢打赌,这是一个基于 IP 的解决方案,所以如果您的应用部署在其他地方,它也无济于事。

【讨论】:

    【解决方案3】:

    在用户成功输入captcha phrase 之前,Google 似乎并不特别清楚是什么促使他们阻止用户的帐户。但是,当 Google 发现它认为与您的帐户相关的异常或可疑活动时,很可能会触发这种机制。因此,我认为他们不太可能提供选择退出保护他们和您的机制的选项,尽管欢迎其他人找到相反的证据。

    关于何时以及如何发生这种情况的各种讨论提出了一些建议,您可能想尝试看看它们是否有帮助,例如choosing a stronger password 或简单的changing your password。祝你好运!

    【讨论】:

    • 对于搜索,至少,如果您 IP 中的任何人像机器人一样行事,他们会抛出验证码,而您可能无法控制谁共享您所支持的 IP。所以它可能不取决于你所做的任何事情。
    猜你喜欢
    • 2013-09-01
    • 2017-11-25
    • 2015-08-02
    • 2012-12-23
    • 2012-06-16
    • 2010-10-31
    • 1970-01-01
    • 2017-03-10
    • 2011-06-17
    相关资源
    最近更新 更多