PHP imap_open()=> [AUTHENTICATIONFAILED]

时间:2014-07-17 12:34:11

标签: php email imap

我尝试设置与邮件服务器的IMAP连接,问题是它失败并显示消息:

array(4) {
  [0]=> string(81) "Retrying PLAIN authentication after [AUTHENTICATIONFAILED] Authentication failed."
  [1]=> string(81) "Retrying PLAIN authentication after [AUTHENTICATIONFAILED] Authentication failed."
  [2]=> string(82) "Can not authenticate to IMAP server: [AUTHENTICATIONFAILED] Authentication failed."
  [3]=> string(49) "[CLOSED] IMAP connection broken (server response)"
}

我用来打开连接的代码是:

$mbox = imap_open('{server.test.com:993/imap/ssl}INBOX', 'user@test.com', 'password');

我已经为我的Gmail帐户测试了相同的语法,但它运行正常。我可以连接到server.test.com并使用thunderbird进行身份验证(IMAP-SSL-993),因此邮件服务器确实没有问题。

我已经通过Stack Overflow搜索了这个问题,但我还没有设法解决它,下面是我迄今为止尝试过的所有解决方案:

  1. $mbox = imap_open('{server.test.com:993/imap/ssl}INBOX', 'user@test.com', 'password', null, 1, array('DISABLE_AUTHENTICATOR' => 'PLAIN'));
  2. $mbox = imap_open('{server.test.com:995/pop3/ssl}INBOX', 'user@test.com', 'password');
  3. $mbox = imap_open('{server.test.com:993/imap/ssl/novalidate-cert}INBOX', 'user@test.com', 'password'); (The cert is valid)
  4. $mbox = imap_open('{server.test.com:993/pop3/ssl/novalidate-cert}INBOX', 'user@test.com', 'password'); (The cert is valid)
  5. $mbox = imap_open('{server.test.com:993/imap}INBOX', 'user@test.com', 'password');
  6. $mbox = imap_open('{server.test.com:993/pop3}INBOX', 'user@test.com', 'password');
  7. $mbox = imap_open('{server.test.com:993}INBOX', 'user@test.com', 'password');
  8. 问题可以来自哪里?我还会发布上面提到的所有解决方案的所有错误消息,以及稍后的邮件服务器和php日志。

    注意:要表示我使用的错误:

    var_dump(imap_errors());
    

1 个答案:

答案 0 :(得分:0)

由于Web服务器和邮件服务器在同一台服务器上运行,我设法连接服务器IP地址:

$mbox = imap_open('{127.0.0.1:993/imap/ssl/novalidate-cert}INBOX', 'user@test.com', 'password');