Per un client Indy 10 IMAPClient con un IOHandler esistente derivato da TIdIOHandlerStack, collegate le informazioni SOCKS prima di chiamare Connect:

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

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

I tipi provengono da IdSocks e IdIOHandlerStack. Se non esiste ancora un IOHandler, create e assegnate prima il gestore adatto alla connessione di posta.

Conservate un IOHandler SSL già configurato. Sostituirlo con un semplice gestore stack può rimuovere TLS; TransparentProxy fornisce solo la negoziazione del proxy, non TLS implicito sulla 993 né STARTTLS sulla 143.

Il frammento presuppone SOCKS5 senza autenticazione. Per un server di posta pubblico, la lista di proxy SOCKS5 fornisce candidati; verificate che l'endpoint scelto consenta l'host e la porta IMAP richiesti. Per un account proxy, configurate autenticazione, nome utente e password di TIdSocksInfo separatamente dall'account IMAP.

ProxyInfo.Host indica l'intermediario. IMAPClient.Host resta il servizio di posta con la sua identità TLS prevista e la sua politica di convalida dei certificati.

Articoli correlati