mailbox = $mailbox; } /** * Connects to an IMAP server and tries to authenticate. * * @param string $username * @param string $password * * @return bool */ protected function imapOpen($username, $password) { $success = false; try { $imap = imap_open($this->mailbox, $username, $password, OP_HALFOPEN | OP_READONLY, 1); if ($imap) { $success = true; } } catch (\ErrorException $e) { error_log($e->getMessage()); } $errors = imap_errors(); if ($errors) { foreach ($errors as $error) { error_log($error); } } if (isset($imap) && $imap) { imap_close($imap); } return $success; } /** * Validates a username and password by trying to authenticate against IMAP. * * @param string $username * @param string $password * * @return bool */ protected function validateUserPass($username, $password) { return $this->imapOpen($username, $password); } }