2015-12-09 1 views
1

У меня есть фрагмент кода, который подключается к IMAP и загружает некоторые вложения электронной почты. Все работали flawlessy до сегодняшнего дня, и я не могу понять, почему это ошибкаPHP imap_open Ошибка сервера: непустая начальная задача PLAIN

Это код:

Server bug: non-empty initial PLAIN challenge 

В моей тестовой среде после того, как изменить строку, все работает снова, но когда я фиксировать и обновлять официальную среду, ошибки все еще существуют.

if ($this->mbox = imap_open($this->server,$this->username,$this->password,NULL, 1, array('DISABLE_AUTHENTICATOR' => 'GSSAPI')))) // I added the last 3 parameters and in local env all works again. 
{ 
    imap_errors(); 
    return "OK"; 
} 
+1

Похоже, что ваш сервер неправильно использует SASL-PLAIN или так, как вам нравится в вашей библиотеке. Попробуйте отключить это, а также GSSAPI. – Max

+0

спасибо. можете ли вы сказать мне, как отключить их? Поскольку код здесь уже отключает аутентификатор GSSAPI. – Kreker

+0

Думаю, я сделал это! Я отправлю ответ ... – Kreker

ответ

0

После поиска отключить или изменить конфигурацию на стороне сервера, я пытаюсь добавить этот код, чтобы отключить аутентификацию PLAIN, и это сработало!

Так что это мой последний код. Я знаю, что это не так интересно тестировать соединение, подобное этому, но ...

if ($this->mbox = imap_open($this->server,$this->username,$this->password)) 
    { 
     return "OK"; 
    }elseif ($this->mbox = imap_open($this->server,$this->username,$this->password,NULL, 1, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'))) { 
     return "OK"; 
    }elseif ($this->mbox = imap_open($this->server,$this->username,$this->password,NULL, 1, array('DISABLE_AUTHENTICATOR' => 'PLAIN'))) { 
     return "OK"; 
    } 

return imap_last_error();