Configurar PHP cURL para IMAPS através de SOCKS
Defina uma rota IMAPS num handle PHP cURL cujo libcurl ligado suporta IMAP, com contas de correio e 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,
]);Isto configura a transferência de correio de uma aplicação existente; o runtime cURL do PHP tem de estar ligado a uma libcurl com suporte IMAP. A sua presença por si só não comprova todos os protocolos compilados. Substitua os endpoints e o UID da caixa de correio. Para um servidor de correio acessível publicamente onde intermediários públicos são permitidos, a lista de proxies SOCKS5 oferece candidatos para o URL de proxy sem credenciais mostrado; confirme o acesso ao host e à porta de correio reais, mantendo a conta de correio e as definições TLS.
CURLOPT_USERNAME/CURLOPT_PASSWORD autenticam no servidor de correio. Uma conta SOCKS, quando necessária, usa opções separadas e suportadas de credenciais de proxy. A extensão PHP IMAP é outro cliente e não é configurada por estas definições.
Mantenha a verificação de certificado e de nome de host ativada para o destino IMAPS. Desativar ambas não é um pré-requisito de encaminhamento.
Durante o tratamento de transferência/resultado da aplicação, identifique a fase que falhou: negociação SOCKS, TLS de correio, início de sessão IMAP ou seleção da caixa de correio. Um proxy acessível não mostra que o UID 1 existe.