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

Похожие статьи