Tilføj SOCKS til en Indy IMAP-klient uden at udskifte dens TLS-handler
Sæt TIdSocksInfo på den eksisterende IOHandlers TransparentProxy før Connect, og lad mailserveren være destinationen.
Til en Indy 10 IMAPClient med en eksisterende IOHandler afledt af TIdIOHandlerStack skal du vedhæfte SOCKS-oplysninger, før Connect kaldes:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Typerne kommer fra IdSocks og IdIOHandlerStack. Findes der endnu ingen IOHandler, så opret og tildel først den handler, der passer til mailforbindelsen.
Bevar en allerede konfigureret SSL IOHandler. Udskiftning med en almindelig stack-handler kan fjerne TLS; TransparentProxy leverer kun proxyforhandling, ikke implicit TLS på 993 eller STARTTLS på 143.
Uddraget forudsætter uautentificeret SOCKS5. Til en offentlig mailserver giver SOCKS5-proxylisten kandidater; bekræft, at det valgte endepunkt tillader den krævede IMAP-vært og -port. Til en proxykonto konfigureres autentificering, brugernavn og adgangskode for TIdSocksInfo separat fra IMAP-kontoen.
ProxyInfo.Host angiver mellemleddet. IMAPClient.Host forbliver mailtjenesten med sin tilsigtede TLS-identitet og politik for certifikatvalidering.