Imap_open: не удалось открыть поток на моем почтовом сервере
Примечание: Неизвестно: подключение не выполнено. mail.domain.com, 143: Connection (errflg = 2) в Unknown в строке 0
imap_open("{mail.domain.com:143/novalidate-cert}INBOX", 'login', 'password')
Порт 143 открыт, я не за брандмауэром, мой сервер использует самозаверяющие сертификаты.
Я действительно не понимаю, почему я не могу подключиться к моему почтовому серверу
Я искал везде, но не нашел ответа.
Ответы
Ответ 1
Спасибо за ваши ответы.
Моя ошибка не в соединении, а в цикле, который приводил к сбою сервера, когда у меня было слишком много писем:
imap_open("{mail.domain.com:143/novalidate-cert}INBOX", 'login', 'password')
$mails = imap_search($stream, 'UNSEEN');
rsort($mails);
foreach ($mails as $mailId) {
imap_fetch_overview($stream, $mailId, 0);
} //that was the mistake when email number is too big!
Ответ 2
Я предполагаю, что вы находитесь за ssl (порт по умолчанию 993)
Пытаться
imap_open("{mail.domain.com:993/imap/ssl/novalidate-cert}INBOX", 'login', 'password') or die('Cannot connect: ' . print_r(imap_errors(), true))
Не забудьте открыть этот порт
Ответ 3
Я написал библиотеку.
Не знаете, что это будет работать для вашего хозяина или нет.
Но вы могли бы попробовать. http://vivoauthimap.vivsoftware.in/
Ответ 4
В моем случае это помогло:
imap_open("{mail.domain.com:110/pop3/notls}INBOX", 'login', 'password')
Ответ 5
В моем случае расширение imap было скомпилировано без опции --with-imap-ssl
. Вам нужно передать его в configure
или, если вы используете Docker:
docker-php-ext-configure imap --with-imap-ssl
docker-php-ext-install imap
Вы можете проверить, есть ли поддержка SSL, с помощью этой команды:
php -i | grep imap -A 5
Если строка "Поддержка SSL => включена" отсутствует, необходимо перекомпилировать расширение imap.
Отсутствие поддержки SSL приводило к нечетким сообщениям об ошибках:
Warning: imap_open(): Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
Can't open mailbox {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX: invalid remote specification