Cấu hình PHP cURL cho IMAPS qua SOCKS
Đặt tuyến IMAPS trên một handle PHP cURL có libcurl liên kết hỗ trợ IMAP, với tài khoản thư và proxy riêng.
$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,
]);Cấu hình này thiết lập việc truyền thư của một ứng dụng hiện có; runtime cURL của PHP phải được liên kết với libcurl có hỗ trợ IMAP. Chỉ riêng sự hiện diện của nó không chứng minh mọi giao thức được biên dịch. Hãy thay thế các điểm cuối và UID hộp thư. Đối với máy chủ thư truy cập công khai nơi các trung gian công cộng được phép, danh sách proxy SOCKS5 cung cấp các ứng viên cho URL proxy không cần thông tin xác thực như hình; xác nhận quyền truy cập tới máy chủ và cổng thư thực tế trong khi giữ nguyên tài khoản thư và cài đặt TLS.
CURLOPT_USERNAME/CURLOPT_PASSWORD xác thực với máy chủ thư. Tài khoản SOCKS, khi cần, dùng các tùy chọn thông tin xác thực proxy được hỗ trợ riêng. Tiện ích mở rộng PHP IMAP là một ứng dụng khách khác và không được cấu hình bởi các cài đặt này.
Giữ bật xác minh chứng chỉ và tên máy chủ cho đích IMAPS. Việc tắt cả hai không phải là điều kiện tiên quyết để định tuyến.
Trong quá trình xử lý truyền/nhận kết quả của ứng dụng, hãy xác định giai đoạn bị lỗi: thương lượng SOCKS, TLS thư, đăng nhập IMAP hoặc chọn hộp thư. Một proxy có thể truy cập không cho thấy UID 1 tồn tại.