Как избежать этого предупреждения и уведомлений, когда я использую неправильный пароль и адрес электронной почты в форме входа в систему в imap_open:
Предупреждение: 'imap_open (): не удалось открыть поток {imap.gmail.com:993/imap/ssl/novalidate-cert automotiveINBOX' и
Примечание: неизвестно: ошибка протокола IMAP: клиент прервал команду AUTHENTICATE. i145-v6mb122753825lfi (errflg = 2) в Unknown в строке 0
Примечание: Неизвестно: Аутентификация IMAP отменена (errflg = 2) в Неизвестно в строке 0
Мне нужна проверка, когда я использую неправильный пароль и адрес электронной почты, закрываю подключение к imap и повторяю что-то вроде «неправильного пароля или адреса электронной почты!». Я пытался избежать этого, но это не работает. Пожалуйста, скажите мне, что я делаю не так.
функция imap_open:
function open_mailbox($auth_user, $auth_password) {
$mailbox = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
if($imap = imap_open($mailbox, $auth_user, $auth_password)){
imap_open($mailbox, $auth_user, $auth_password);
echo "success";
} else {
imap_close($imap);
echo 'fail';
}
}
функция входа в систему
function display_login_form($action) { ?>
<form method="post" action="index.php?action=log-in">
<div>
<div>
<div>
<p>LOGIN</p>
</div>
</br>
<div>
<div>
<div>
<p>MAIL</p>
</div>
<div>
<input type="text" name="username" required>
</div>
</div>
</br>
<div>
<div>
<p>PASSWORD</p>
</div>
<div>
<input type="password" name="password" required>
</div>
</div>
</br>
<div>
<input type='submit' value='LOGIN'>
</div>
</div>
</div>
</div>
</form>
index.php
$username = "";
$password = "";
if(isset($_POST['username']) && !empty($_POST['username'])){
$username = $_POST['username'];
}
if(isset($_POST['password']) && !empty($_POST['password'])){
$password = ($_POST['password']);
}
if(null!==($username && $password)) {
if(open_mailbox($username, $password)) {
$action = 'view-mailbox';
$_SESSION['auth_user'] = $username;
$_SESSION['auth_password'] = $password;
} else {
$status .= "<p>Wrong password or email</p>";
}
}