Voeg SOCKS by 'n Indy IMAP-kliënt sonder om sy TLS-hanteerder te vervang
Stel TIdSocksInfo op die bestaande IOHandler se TransparentProxy voor Connect, en laat die mailbediener as die bestemming.
Vir 'n Indy 10 IMAPClient met 'n bestaande IOHandler wat van TIdIOHandlerStack afgelei is, heg SOCKS-inligting aan voordat Connect geroep word:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Die tipes kom van IdSocks en IdIOHandlerStack. As daar nog geen IOHandler bestaan nie, skep en wys eers die hanteerder wat by die mailverbinding pas.
Bewaar 'n SSL IOHandler wat al opgestel is. Om dit met 'n gewone stack-hanteerder te vervang, kan TLS verwyder; TransparentProxy verskaf net proxy-onderhandeling, nie implisiete TLS op 993 of STARTTLS op 143 nie.
Die fragment aanvaar ongeverifieerde SOCKS5. Vir 'n publieke mailbediener verskaf die SOCKS5-proxylys kandidate; bevestig dat die gekose eindpunt die vereiste IMAP-gasheer en -poort toelaat. Vir 'n proxyrekening stel jy die verifikasie, gebruikersnaam en wagwoord van TIdSocksInfo apart van die IMAP-rekening op.
ProxyInfo.Host noem die tussenganger. IMAPClient.Host bly die maildiens met sy beoogde TLS-identiteit en sertifikaatvalideringsbeleid.