Configurar PHP cURL para IMAPS a través de SOCKS
Establezca una ruta IMAPS en un identificador PHP cURL cuyo libcurl enlazado admita IMAP, con cuentas de correo y de proxy separadas.
$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,
]);
Esto configura el transporte de correo de una aplicación existente; el entorno de ejecución de cURL de PHP debe estar enlazado con libcurl con soporte de IMAP. Su sola presencia no establece todos los protocolos compilados. Sustituya los puntos de conexión y el UID del buzón. Para un servidor de correo accesible públicamente donde se permitan intermediarios públicos, la lista de proxies SOCKS5 ofrece candidatos para la URL de proxy sin credenciales mostrada; confirme el acceso al host y puerto de correo reales manteniendo la cuenta de correo y la configuración de TLS.
CURLOPT_USERNAME/CURLOPT_PASSWORD autentican ante el servidor de correo. Una cuenta SOCKS, cuando se requiere, usa opciones de credenciales de proxy compatibles separadas. La extensión PHP IMAP es otro cliente y no se configura con estos ajustes.
Mantenga activada la verificación de certificado y de nombre de host para el destino IMAPS. Desactivar ambas no es un requisito previo de enrutamiento.
Durante el manejo de transferencia/resultado de la aplicación, identifique la etapa fallida: negociación SOCKS, TLS de correo, inicio de sesión IMAP o selección de buzón. Un proxy accesible no demuestra que el UID 1 exista.