Dodaj SOCKS do klienta IMAP Indy bez wymiany jego modułu obsługi TLS
Ustaw TIdSocksInfo na TransparentProxy istniejącego IOHandlera przed Connect, pozostawiając serwer poczty jako miejsce docelowe.
W przypadku Indy 10 IMAPClient z istniejącym IOHandlerem pochodzącym z TIdIOHandlerStack dołącz informacje SOCKS przed wywołaniem Connect:
ProxyInfo := TIdSocksInfo.Create(IMAPClient);
ProxyInfo.Version := svSocks5;
ProxyInfo.Host := 'proxy.example';
ProxyInfo.Port := 1080;
(IMAPClient.IOHandler as TIdIOHandlerStack).TransparentProxy := ProxyInfo;Typy pochodzą z IdSocks i IdIOHandlerStack. Jeśli nie ma jeszcze IOHandlera, najpierw utwórz i przypisz moduł obsługi odpowiedni dla połączenia pocztowego.
Zachowaj już skonfigurowany IOHandler SSL. Zastąpienie go zwykłym modułem stack może usunąć TLS; TransparentProxy zapewnia tylko negocjację serwera proxy, a nie niejawny TLS na 993 ani STARTTLS na 143.
Fragment zakłada SOCKS5 bez uwierzytelniania. Dla publicznego serwera poczty lista serwerów proxy SOCKS5 dostarcza kandydatów; potwierdź, że wybrany punkt końcowy zezwala na wymagany host i port IMAP. Dla konta proxy skonfiguruj uwierzytelnianie, nazwę użytkownika i hasło dla TIdSocksInfo oddzielnie od konta IMAP.
ProxyInfo.Host nazywa pośrednika. IMAPClient.Host pozostaje usługą poczty z zamierzoną tożsamością TLS i zasadami weryfikacji certyfikatów.