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

Падобныя артыкулы