У нас есть php-скрипт для обработки отказов. Теперь я должен позаботиться о переходе с библиотеки PEAR NET / POP3 на библиотеку php-imap native-ish.
Почтовый сервер прослушивает на удаленном сервере порт 110 без ssl (очевидно, POP3).
Однако я не могу открыть соединение с этим сервером, используя библиотеку php-imap, используя следующий код:
imap_open("{example.com:110/pop3/notls}INBOX", $username, $password);
Это приводит к следующим ошибкам:
Warning: imap_open(): Couldn't open stream {example.com:110/pop3/notls}INBOX in C:\xampp\htdocs\bounce-processing\info.php on line 1
Notice: Unknown: POP3 connection broken in response (errflg=2) in Unknown on line 0
Следующая реализация PEAR POP3 все еще работает:
require("Net/POP3.php");
$pop3 = new Net_POP3();
$pop3->connect('example.com', 110)
$pop3->login($username, $password);
Что я уже пробовал:
imap_open("{IP-ADDRESS:110/pop3/notls}INBOX", $username, $password);
imap_open("{IP-ADDRESS:110/pop3/notls/user=$username}INBOX", $username, $password);
ПРИМЕЧАНИЕ: я также проверил это на разных установках (CentOS / Apache 2.2, Ubuntu 14.04 / nginx, PHP 5.4, PHP 5.5, PHP 5.6, никаких других результатов.
Что я могу сделать? Отладка на самом деле не помогла мне — и то, что класс груша работает, волнует меня.
Заранее спасибо!
РЕДАКТИРОВАТЬ: бинарный файл php компилируется с помощью imap / ssl, и расширение php-imap включено в php.ini. Если вы знаете другой способ заставить php общаться с почтовым сервером pop3 на будущее, дайте мне знать. Мы не хотим использовать такие фреймворки, как phpmailer и т. Д.
EDIT2: логин telnet работает с вероятностью успеха 40%. Я смог успешно войти в систему из 4 раз с правильными учетными данными.
Вывод команды CAPA:
CAPA
+OK Here's what I can do:
STLS
TOP
USER
LOGIN-DELAY 10
PIPELINING
UIDL
IMPLEMENTATION Courier Mail Server
.
Я не знаю, важно ли это, но почтовый сервер на самом деле размещается в выделенной серверной и хостинговой компании.
EDIT3: Попытка подключиться через
{IP_ADDRESS:110/pop3}
возвращает следующие ошибки:
Warning: imap_open(): Couldn't open stream {IP_ADDRESS:110/pop3} in C:\xampp\htdocs\bounce-processing\index.php on line 12
Notice: Unknown: Certificate failure for IP_ADDRESS: Server name does not match certificate.
Добавление флага novalidate-cert приводит к таймауту.
Задача ещё не решена.
Других решений пока нет …