افزودن 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 و سیاست اعتبارسنجی گواهی مورد نظر خود باقی میماند.