使用imap_open连接到PHP5中的Exchange 2007服务器时出现问题

时间:2009-03-26 13:00:26

标签: php exchange-server-2007 imap-open

当我尝试通过PHP5中的IMAP连接到Exchange 2007服务器时,我收到以下错误消息。

Kerberos error: No credentials cache found (try running kinit) for smtp.domain01.net  

我想知道是否有人找到解决此问题的方法?

相关信息: http://bugs.php.net/bug.php?id=33500

3 个答案:

答案 0 :(得分:3)

偶然发现了这个问题,我想我会回答这个问题,因为其他人都没有。以下页面提供了有关如何解决问题的非常直接和准确的答案:http://forums.kayako.com/threads/fix-kerberos-error-on-email-parser.29626/

基本上,这里发生的事情(根据http://social.technet.microsoft.com/Forums/en-US/exchangesvradmin/thread/43aef3d6-3e91-4e41-a788-ae073393ad37/)是Microsoft Exchange 2007广播格式错误的Kerberos令牌,导致PHP IMAP驱动程序终止该流。其他一些消息来源声称这是a PHP bug,无论哪种方式,总结解决方案都需要您重新编译禁用Kerberos的PHP-IMAP扩展。这将迫使PHP IMAP使用纯文本身份验证,并将解决您的问题。

希望这有帮助。

答案 1 :(得分:0)

Exchange默认启用IMAP协议。即使它确实如此,IMAP的Exchange实现可能也可能不是IMAP。也就是说,this Technet thread可能适用于您的情况。

答案 2 :(得分:0)

我知道这是一个旧问题,但是在多年没有问题之后最近几次遇到这个问题之后,其他事情就是我们的原因。结果只需要重新启动IMAP服务的Exchange服务器!

很多网站的共识与上面的答案相同,但我真的不想走下重新编译PHP的道路。对我来说,这个问题似乎与Kerberos或PHP问题没有任何关系,只是一个简单的身份验证问题。可能该服务需要重新启动,因为它发送格式错误的令牌...希望其他人会发现这有用。