Настройка PHP cURL для IMAPS через SOCKS
Задайте маршрут IMAPS на дескрипторе PHP cURL, связанная библиотека libcurl которого поддерживает IMAP, с отдельными учётными записями почты и прокси.
$handle = curl_init('imaps://mail.example.com/INBOX/;UID=1');
curl_setopt_array($handle, [
CURLOPT_PROXY => 'socks5h://203.0.113.10:1080',
CURLOPT_USERNAME => getenv('MAIL_USER'),
CURLOPT_PASSWORD => getenv('MAIL_PASSWORD'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 20,
]);Это настраивает передачу почты существующего приложения; среда выполнения cURL в PHP должна быть связана с libcurl с поддержкой IMAP. Само по себе её наличие не подтверждает все встроенные протоколы. Замените конечные точки и UID почтового ящика. Для публично доступного почтового сервера, где разрешены публичные посредники, список SOCKS5-прокси предлагает кандидатов для показанного URL прокси без учётных данных; подтвердите доступ к фактическому хосту и порту почты, сохранив учётную запись почты и настройки TLS.
CURLOPT_USERNAME/CURLOPT_PASSWORD выполняют аутентификацию на почтовом сервере. Учётная запись SOCKS, когда она требуется, использует отдельные поддерживаемые параметры учётных данных прокси. Расширение PHP IMAP — другой клиент, и эти настройки его не настраивают.
Оставьте включённой проверку сертификата и имени хоста для назначения IMAPS. Отключение обеих не является обязательным условием маршрутизации.
При обработке передачи/результата в приложении определите отказавший этап: согласование SOCKS, TLS почты, вход в IMAP или выбор почтового ящика. Доступный прокси не показывает, что UID 1 существует.