Налаштування 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 існує.