【发布时间】:2018-03-20 08:24:43
【问题描述】:
当我在由 bitbucket 管道运行的 docker 容器中运行脚本时,此调用 (imap_open()) 一直失败。
PHP 警告:imap_open():无法在 /opt/atlassian/pipelines/agent/build/test/tools/plib 中打开流 {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX /confirm.php 在第 24 行 PHP 致命错误:在 /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php:24 中带有消息“注册:确认失败”的未捕获异常“异常” 堆栈跟踪: #0 /opt/atlassian/pipelines/agent/build/test/tools/test.php(51): 注册(数组) #1 {主要} 在第 24 行抛出 /opt/atlassian/pipelines/agent/build/test/tools/plib/signup.php PHP 通知:未知:在 [ALERT] 后重试 PLAIN 身份验证请通过 Web 浏览器登录:https://support.google.com/mail/acco (errflg=1) 在第 0 行的未知中 PHP 通知:未知:在 [ALERT] 后重试 PLAIN 身份验证请通过 Web 浏览器登录:https://support.google.com/mail/acco (errflg=1) 在第 0 行的未知 PHP 通知:未知:无法对 IMAP 服务器进行身份验证:[ALERT] 请通过 Web 浏览器登录:https://support.google.com/mail/acco (errflg=2) 在第 0 行的未知中 无法连接到 Gmail:无法对 IMAP 服务器进行身份验证:[ALERT] 请通过您的网络浏览器登录:https://support.google.com/mail/acco
我已遵循所有这些说明:
- 启用安全性较低的应用
- 从https://accounts.google.com/b/0/DisplayUnlockCaptcha启用
- 尝试使用和不使用 /novalidate-cert 标志
相同的脚本在 Mac OS 或什至 AWS EC2 实例中本地运行时工作正常,但在由 bitbucket 或 Heroku 运行时失败。我无法在这些实例上运行浏览器,因此无法尝试 Web 界面,显然一旦启用访问,它应该可以在任何地方工作。
太糟糕了,错误消息中的链接甚至都不完整。
知道如何克服这个问题吗?我要做的只是以编程方式简单地模拟点击注册电子邮件中的验证链接。
【问题讨论】:
标签: gmail containers bitbucket imap bitbucket-pipelines