Προσθήκη SOCKS σε πελάτη IMAP του Indy χωρίς αντικατάσταση του χειριστή TLS
Ορίστε το TIdSocksInfo στο TransparentProxy του υπάρχοντος IOHandler πριν από το Connect, αφήνοντας τον διακομιστή αλληλογραφίας ως προορισμό.
Για ένα Indy 10 IMAPClient με υπάρχον IOHandler που προέρχεται από TIdIOHandlerStack, επισυνάψτε τις πληροφορίες 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, δημιουργήστε και αναθέστε πρώτα τον χειριστή που ταιριάζει στη σύνδεση αλληλογραφίας.
Διατηρήστε έναν ήδη ρυθμισμένο IOHandler SSL. Η αντικατάστασή του με απλό χειριστή stack μπορεί να αφαιρέσει το TLS· το TransparentProxy παρέχει μόνο διαπραγμάτευση διαμεσολαβητή, όχι έμμεσο TLS στη 993 ή STARTTLS στη 143.
Το απόσπασμα υποθέτει SOCKS5 χωρίς έλεγχο ταυτότητας. Για δημόσιο διακομιστή αλληλογραφίας, η λίστα διαμεσολαβητών SOCKS5 παρέχει υποψηφίους· επιβεβαιώστε ότι το επιλεγμένο τελικό σημείο επιτρέπει τον απαιτούμενο κεντρικό υπολογιστή και θύρα IMAP. Για λογαριασμό διαμεσολαβητή, ρυθμίστε τον έλεγχο ταυτότητας, το όνομα χρήστη και τον κωδικό πρόσβασης του TIdSocksInfo χωριστά από τον λογαριασμό IMAP.
Το ProxyInfo.Host ονομάζει τον ενδιάμεσο. Το IMAPClient.Host παραμένει η υπηρεσία αλληλογραφίας με την προβλεπόμενη ταυτότητα TLS και την πολιτική επικύρωσης πιστοποιητικών.