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

บทความที่เกี่ยวข้อง