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.

Powiązane artykuły