Lägg till SOCKS i en Indy IMAP-klient utan att byta ut dess TLS-hanterare
Ställ in TIdSocksInfo på den befintliga IOHandlerns TransparentProxy före Connect och låt mailservern vara målet.
För en Indy 10 IMAPClient med en befintlig IOHandler som härleds från TIdIOHandlerStack, koppla SOCKS-informationen innan du anropar Connect:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Typerna kommer från IdSocks och IdIOHandlerStack. Finns ingen IOHandler ännu, skapa och tilldela först den hanterare som passar för mailanslutningen.
Behåll en redan konfigurerad SSL IOHandler. Att ersätta den med en vanlig stack-hanterare kan ta bort TLS; TransparentProxy ger bara proxyförhandling, inte implicit TLS på 993 eller STARTTLS på 143.
Utdraget förutsätter oautentiserad SOCKS5. För en offentlig mailserver ger SOCKS5-proxylistan kandidater; bekräfta att den valda slutpunkten tillåter den IMAP-värd och port som krävs. För ett proxykonto konfigurerar du autentisering, användarnamn och lösenord för TIdSocksInfo separat från IMAP-kontot.
ProxyInfo.Host namnger mellanhanden. IMAPClient.Host förblir mailtjänsten med sin avsedda TLS-identitet och policy för certifikatvalidering.