2017-02-14 14 views
0

Я хочу построить систему аутентификации для веб-сайта с использованием IMAP. Пользователи должны иметь возможность входа в систему с теми же учетными данными, что и учетная запись электронной почты.imap_open пользовательский обратный вызов ошибки

Everthing отлично работает, за исключением случаев, когда входные данные являются неправильными или не совпадают с учетными данными учетной записи электронной почты. Если да, то, очевидно, ошибка ...

imap_open(): Не удалось открыть поток {domain.com:993/imap/ssl}INBOX

Есть ли способ, чтобы установить пользовательский обратный вызов, если imap_open() не удается? (Как перенаправить обратно с сообщением об ошибке, ...)

+1

_ «Я хочу создать систему аутентификации для веб-сайта с использованием IMAP» _ - и вы думаете, что это хорошая идея, потому что ...? – CBroe

+0

@CBroe Я абсолютно не думаю, что это хорошая идея! Но я не знаю, как проверить, предоставил ли пользователь действительные учетные данные (имя пользователя, пароль), кроме IMAP. У меня нет доступа к серверу электронной почты или серверу, на котором хранятся пользовательские данные ... Но пользователи должны иметь возможность входить в систему с теми же учетными данными, что и при входе в свою школьную электронную почту ([email protected] и их пароль). Есть ли у вас какие-либо другие идеи, как достичь этого? У меня нет никакой подсказки ... кроме IMAP. Я знаю, что это ужасный подход! – Passi

ответ

0

Это предупреждающее сообщение уровня, так что вы должны быть в состоянии использовать обработчик ошибок, например:

set_error_handler(function() { /* this will be executed on error */ }); 
imap_open(); 
restore_error_handler(); 

Вот аналогичный вопрос: https://stackoverflow.com/a/1241751/3470670

Здесь вы можете найти полную документацию о настройке настраиваемого обработчика ошибок http://php.net/manual/en/function.set-error-handler.php