Para um Indy 10 IMAPClient com um IOHandler existente derivado de TIdIOHandlerStack, anexe as informações SOCKS antes de chamar Connect:

ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;

(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;

Os tipos vêm de IdSocks e IdIOHandlerStack. Se ainda não existir um IOHandler, crie e atribua primeiro o manipulador adequado à ligação de correio.

Preserve um IOHandler SSL já configurado. Substituí-lo por um manipulador stack simples pode remover o TLS; TransparentProxy fornece apenas a negociação do proxy, não TLS implícito na 993 nem STARTTLS na 143.

O fragmento pressupõe SOCKS5 sem autenticação. Para um servidor de correio público, a lista de proxies SOCKS5 fornece candidatos; confirme que o endpoint escolhido permite o anfitrião e a porta IMAP necessários. Para uma conta proxy, configure a autenticação, o nome de utilizador e a palavra-passe de TIdSocksInfo separadamente da conta IMAP.

ProxyInfo.Host nomeia o intermediário. IMAPClient.Host continua a ser o serviço de correio com a identidade TLS pretendida e a sua política de validação de certificados.

Artigos relacionados