Налада 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 існуе.