Pour un client Indy 10 IMAPClient doté d'un IOHandler existant dérivé de TIdIOHandlerStack, attachez les informations SOCKS avant d'appeler Connect :

ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;

(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;

Les types proviennent de IdSocks et IdIOHandlerStack. Si aucun IOHandler n'existe encore, créez et affectez d'abord le gestionnaire adapté à la connexion de messagerie.

Conservez un IOHandler SSL déjà configuré. Le remplacer par un simple gestionnaire stack peut supprimer TLS ; TransparentProxy ne fournit que la négociation du proxy, pas TLS implicite sur 993 ni STARTTLS sur 143.

L'extrait suppose SOCKS5 sans authentification. Pour un serveur de messagerie public, la liste de proxys SOCKS5 fournit des candidats ; vérifiez que le point de terminaison retenu autorise l'hôte et le port IMAP requis. Pour un compte proxy, configurez l'authentification, le nom d'utilisateur et le mot de passe de TIdSocksInfo séparément du compte IMAP.

ProxyInfo.Host désigne l'intermédiaire. IMAPClient.Host reste le service de messagerie avec son identité TLS prévue et sa politique de validation des certificats.

Articles similaires