在 bitbucket 管道中使用时,由于身份验证,GMAIL IMAP 读取失败
GMAIL IMAP read fails due to authentication when used in bitbucket pipeline
当我通过 bitbucket 管道 运行 docker 容器 运行 中的脚本时,此调用 (imap_open()) 一直失败。
PHP Warning: imap_open(): Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX in /opt/atlassian/pipelines/agent/build/test/tools/plib/confirm.php on line 24
PHP Fatal error: Uncaught exception 'Exception' with message 'signup: confirm failed' in /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php:24
Stack trace:
#0 /opt/atlassian/pipelines/agent/build/test/tools/test.php(51): signup(Array)
#1 {main}
thrown in /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php on line 24
PHP Notice: Unknown: Retrying PLAIN authentication after [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=1) in Unknown on line 0
PHP Notice: Unknown: Retrying PLAIN authentication after [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=1) in Unknown on line 0
PHP Notice: Unknown: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=2) in Unknown on line 0
Cannot connect to Gmail: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser: https://support.google.com/mail/acco
我已遵循所有这些说明:
- 启用安全性较低的应用程序
- 从 https://accounts.google.com/b/0/DisplayUnlockCaptcha
启用
- 尝试使用和不使用 /novalidate-cert 标志
当 运行 在 Mac OS 本地甚至使用 AWS EC2 实例时,相同的脚本工作正常,但当 bitbucket 或 Heroku 运行 时失败。我无法在这些实例上 运行 浏览器,因此无法尝试 Web 界面,显然一旦启用访问,它应该可以在任何地方使用。
太糟糕了,错误消息中的 link 甚至不完整。
知道如何克服这个问题吗?我想要做的就是以编程方式简单地模拟点击注册电子邮件中的验证 link。
如前所述,google 会发出警报 "Less secured apps",并且有时即使在那之后身份验证仍然失败。
这里最好的解决方案是转向 OAUTH2 身份验证方法,否则即使您找到解决此 "less secured alert" 问题的方法...它最终可能会在未来断断续续地发生。
当我通过 bitbucket 管道 运行 docker 容器 运行 中的脚本时,此调用 (imap_open()) 一直失败。
PHP Warning: imap_open(): Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX in /opt/atlassian/pipelines/agent/build/test/tools/plib/confirm.php on line 24 PHP Fatal error: Uncaught exception 'Exception' with message 'signup: confirm failed' in /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php:24 Stack trace: #0 /opt/atlassian/pipelines/agent/build/test/tools/test.php(51): signup(Array) #1 {main} thrown in /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php on line 24 PHP Notice: Unknown: Retrying PLAIN authentication after [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=1) in Unknown on line 0 PHP Notice: Unknown: Retrying PLAIN authentication after [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=1) in Unknown on line 0 PHP Notice: Unknown: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser: https://support.google.com/mail/acco (errflg=2) in Unknown on line 0 Cannot connect to Gmail: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser: https://support.google.com/mail/acco
我已遵循所有这些说明:
- 启用安全性较低的应用程序
- 从 https://accounts.google.com/b/0/DisplayUnlockCaptcha 启用
- 尝试使用和不使用 /novalidate-cert 标志
当 运行 在 Mac OS 本地甚至使用 AWS EC2 实例时,相同的脚本工作正常,但当 bitbucket 或 Heroku 运行 时失败。我无法在这些实例上 运行 浏览器,因此无法尝试 Web 界面,显然一旦启用访问,它应该可以在任何地方使用。
太糟糕了,错误消息中的 link 甚至不完整。
知道如何克服这个问题吗?我想要做的就是以编程方式简单地模拟点击注册电子邮件中的验证 link。
如前所述,google 会发出警报 "Less secured apps",并且有时即使在那之后身份验证仍然失败。 这里最好的解决方案是转向 OAUTH2 身份验证方法,否则即使您找到解决此 "less secured alert" 问题的方法...它最终可能会在未来断断续续地发生。