TLS హ్యాండ్లర్ను మార్చకుండా Indy IMAP క్లయింట్కు SOCKS జోడించడం
Connect ముందు ఉన్న IOHandler యొక్క TransparentProxyపై TIdSocksInfo సెట్ చేసి, మెయిల్ సర్వర్నే గమ్యంగా ఉంచండి.
Indy 10 IMAPClient కోసం, ఉన్న IOHandler TIdIOHandlerStack నుండి ఉత్పన్నమైతే, Connect కు కాల్ చేసే ముందు SOCKS సమాచారాన్ని జోడించండి:
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 గుర్తింపు మరియు ధృవపత్ర ధృవీకరణ విధానంతో మెయిల్ సేవగానే ఉంటుంది.