Додати 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 і політикою перевірки сертифікатів.