所以,我有一个通用/应用程序/系统帐户(术语不同),它可以访问多个邮箱。我使用的用户名是格式<domain>/<username>/<mailbox>
,这是唯一“与众不同”的东西。以下行适用于 PHP 7.0.6(我的笔记本电脑),但不适用于 5.4.16(开发服务器):
$mbox = imap_open("<host>:993/ssl/novalidate-cert",
"<domain>/<username>/<mailbox>", <pass>,
NULL, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'));
我得到的错误是:
PHP 通知:未知:无法对 IMAP 服务器进行身份验证:AUTHENTICATE 失败。(errflg=2) 在第 0 行的未知中
我试过的:
- 有效的邮箱的原始帐户(
<domain>/<user>
格式中的用户名) - 使用
/debug
in$mailbox
和OP_DEBUG
flag - 这些都没有做任何有用的事情 - 使用 python 调试到服务器的消息。这将验证用户名是否作为三段字符串发送并且也有效
- 删除第三段(邮箱)认为我可以稍后选择它 - 在两种情况/版本中都会导致身份验证失败
问题:
- 这是一个PHP错误吗?
- 有没有其他方法可以做到这一点?(我无法更改 PHP 版本)
- 我可以以某种方式启用消息记录吗?(没有 root 所以没有 tcpdump 选项)