เพิ่ม 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 ที่ตั้งใจไว้และนโยบายตรวจสอบใบรับรอง