SOCKS-ის დამატება Indy IMAP კლიენტში TLS დამმუშავებლის შეცვლის გარეშე
დააყენეთ TIdSocksInfo არსებული IOHandler-ის TransparentProxy-ზე Connect-ამდე და დატოვეთ საფოსტო სერვერი დანიშნულების ადგილად.
Indy 10 IMAPClient-ისთვის, რომელსაც აქვს TIdIOHandlerStack-იდან მიღებული IOHandler, მიამაგრეთ 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 მხოლოდ პროქსის მოლაპარაკებას იძლევა, არა 993-ზე იმპლიციტურ TLS-ს ან 143-ზე STARTTLS-ს.
ფრაგმენტი ითვალისწინებს აუთენტიფიკაციის გარეშე SOCKS5-ს. საჯარო საფოსტო სერვერისთვის SOCKS5 პროქსების სია გვაძლევს კანდიდატებს; დაადასტურეთ, რომ არჩეული ბოლო წერტილი უშვებს საჭირო IMAP ჰოსტსა და პორტს. პროქსის ანგარიშისთვის დააკონფიგურირეთ TIdSocksInfo-ის აუთენტიფიკაცია, მომხმარებლის სახელი და პაროლი IMAP ანგარიშისგან დამოუკიდებლად.
ProxyInfo.Host ასახელებს შუამავალს. IMAPClient.Host რჩება საფოსტო სერვისად თავისი განზრახული TLS იდენტობითა და სერტიფიკატის ვალიდაციის პოლიტიკით.