Přidejte SOCKS do IMAP klienta Indy bez výměny TLS handleru
Nastavte TIdSocksInfo na TransparentProxy stávajícího IOHandleru před Connect a nechte poštovní server jako cíl.
U Indy 10 IMAPClient se stávajícím IOHandlerem odvozeným z TIdIOHandlerStack připojte informace SOCKS před voláním Connect:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Typy pocházejí z IdSocks a IdIOHandlerStack. Pokud IOHandler ještě neexistuje, nejprve vytvořte a přiřaďte handler vhodný pro poštovní spojení.
Zachovejte již nakonfigurovaný SSL IOHandler. Nahrazení obyčejným stack handlerem může odstranit TLS; TransparentProxy zajišťuje pouze vyjednávání proxy, ne implicitní TLS na 993 ani STARTTLS na 143.
Úryvek předpokládá neautentizované SOCKS5. Pro veřejný poštovní server dodá kandidáty seznam SOCKS5 proxy; ověřte, že zvolený koncový bod povoluje požadovaný hostitel a port IMAP. Pro proxy účet nastavte autentizaci, uživatelské jméno a heslo TIdSocksInfo odděleně od účtu IMAP.
ProxyInfo.Host označuje prostředníka. IMAPClient.Host zůstává poštovní službou s plánovanou identitou TLS a zásadami ověřování certifikátů.