Добавяне на SOCKS към IMAP клиент на Indy без смяна на TLS обработчика
Задайте TIdSocksInfo в TransparentProxy на съществуващия IOHandler преди Connect, оставяйки пощенския сървър за дестинация.
За Indy 10 IMAPClient със съществуващ IOHandler, произлизащ от TIdIOHandlerStack, прикачете SOCKS информация преди извикването на Connect:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Типовете идват от IdSocks и IdIOHandlerStack. Ако още няма IOHandler, първо създайте и задайте обработчика, подходящ за пощенската връзка.
Запазете вече настроения SSL IOHandler. Замяната му с обикновен stack обработчик може да премахне TLS; TransparentProxy осигурява само договаряне на прокси, не и неявен TLS на 993 или STARTTLS на 143.
Фрагментът предполага SOCKS5 без удостоверяване. За публичен пощенски сървър списъкът с SOCKS5 проксита дава кандидати; уверете се, че избраната крайна точка позволява нужните IMAP хост и порт. За прокси акаунт настройте удостоверяването, потребителското име и паролата на TIdSocksInfo отделно от IMAP акаунта.
ProxyInfo.Host именува посредника. IMAPClient.Host остава пощенската услуга с предназначената си TLS идентичност и политика за проверка на сертификати.