Afegiu SOCKS a un client IMAP d'Indy sense substituir-ne el gestor TLS
Definiu TIdSocksInfo a TransparentProxy de l'IOHandler existent abans de Connect, deixant el servidor de correu com a destinació.
Per a un Indy 10 IMAPClient amb un IOHandler existent derivat de TIdIOHandlerStack, adjunteu la informació SOCKS abans de cridar Connect:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Els tipus provenen de IdSocks i IdIOHandlerStack. Si encara no hi ha cap IOHandler, creeu i assigneu primer el gestor adequat per a la connexió de correu.
Preserveu un IOHandler SSL ja configurat. Substituir-lo per un gestor stack simple pot eliminar TLS; TransparentProxy només proporciona la negociació del proxy, no TLS implícit al 993 ni STARTTLS al 143.
El fragment assumeix SOCKS5 sense autenticació. Per a un servidor de correu públic, la llista de proxys SOCKS5 ofereix candidats; confirmeu que el punt final triat permet l'amfitrió i el port IMAP necessaris. Per a un compte de proxy, configureu l'autenticació, l'usuari i la contrasenya de TIdSocksInfo per separat del compte IMAP.
ProxyInfo.Host anomena l'intermediari. IMAPClient.Host continua sent el servei de correu amb la seva identitat TLS i la seva política de validació de certificats.