أضف 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 بعد، فأنشئ المعالج المناسب لاتصال البريد وعيّنه أولاً.
حافظ على معالج SSL المهيأ مسبقاً. استبداله بمعالج stack عادي قد يزيل TLS؛ فـ TransparentProxy يوفر تفاوض الوكيل فقط، لا TLS الضمني على 993 ولا STARTTLS على 143.
يفترض المقطع أن SOCKS5 غير موثق. لخادم بريد عام، توفر قائمة وكلاء SOCKS5 مرشحين؛ تأكد من أن الطرف المختار يسمح بمضيف IMAP ومنفذه المطلوبين. لحساب وكيل، اضبط مصادقة TIdSocksInfo واسم المستخدم وكلمة المرور بشكل منفصل عن حساب IMAP.
يشير ProxyInfo.Host إلى الوسيط. ويبقى IMAPClient.Host خدمة البريد بهويته المقصودة لـ TLS وسياسة التحقق من الشهادة.