因此,我有一个通用/应用程序/系统帐户(术语不同),它可以访问多个邮箱。我使用的用户名是<domain>/<username>/<mailbox>格式的,这是唯一的“与众不同”的东西。以下一行适用于PHP7.0.6(我的笔记本电脑),但不适用于5.4.16 (dev服务器):
$mbox = imap_open("<host>:993/ssl/novalidate-cert",
"<domain>/<username>/<mailbox>", <pass>,
NULL, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'));我得到的错误是:
PHP注意:未知:无法对IMAP服务器进行身份验证:身份验证失败。(errflg=2)在第0行中未知
我试过的是:
<domain>/<user>格式)工作/debug中使用$mailbox和OP_DEBUG标志--其中non做了任何有用的事情。问题:
发布于 2016-06-28 10:38:23
在我看来,你可以尝试这样做:
$mbox = imap_open("<host>:993/ssl/novalidate-cert",
"<domain>/<username>/<mailbox>", <pass>,
NULL, array('DISABLE_AUTHENTICATOR' => 'GSSAPI')) or
die(var_dump(imap_errors()));你应该能看到更多的错误。接下来,您可以尝试的是切换到平原,而不是GSSAPI,或者尝试将n_retries设置为1,最后考虑,添加有关IMAP的标志。
$mbox = imap_open("<host>:993/imap/ssl/novalidate-cert",
"<domain>/<username>/<mailbox>", <pass>,
NULL, 1, array('DISABLE_AUTHENTICATOR' => 'PLAIN')) or
die(var_dump(imap_errors()));我认为Exchange存在问题,它不允许它不支持的身份验证协议。如果您在win上运行,并且它可以工作,而且开发环境是在Linux上运行的,那么我几乎可以肯定这就是问题所在。
https://stackoverflow.com/questions/38018235
复制相似问题