Configurer PHP cURL pour IMAPS via SOCKS
Définissez une route IMAPS sur un handle PHP cURL dont le libcurl lié prend en charge IMAP, avec des comptes de messagerie et de proxy distincts.
$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,
]);
Ceci configure le transfert de courrier d'une application existante ; l'environnement d'exécution cURL de PHP doit être lié à un libcurl prenant en charge IMAP. Sa seule présence ne prouve pas tous les protocoles compilés. Remplacez les points de terminaison et l'UID de la boîte aux lettres. Pour un serveur de messagerie accessible publiquement où des intermédiaires publics sont autorisés, la liste de proxys SOCKS5 propose des candidats pour l'URL de proxy sans identifiants indiquée ; confirmez l'accès à l'hôte et au port de messagerie réels tout en conservant le compte de messagerie et les paramètres TLS.
CURLOPT_USERNAME/CURLOPT_PASSWORD authentifient auprès du serveur de messagerie. Un compte SOCKS, lorsqu'il est requis, utilise des options d'identifiants de proxy prises en charge distinctes. L'extension PHP IMAP est un autre client et n'est pas configurée par ces paramètres.
Laissez la vérification du certificat et du nom d'hôte activée pour la destination IMAPS. Désactiver les deux n'est pas un prérequis de routage.
Pendant la gestion du transfert/résultat par l'application, identifiez l'étape en échec : négociation SOCKS, TLS de messagerie, connexion IMAP ou sélection de boîte aux lettres. Un proxy joignable ne prouve pas que l'UID 1 existe.