MailKit มีไคลเอนต์ SOCKS5 โดยตรงผ่านอินเทอร์เฟซการเชื่อมต่อของบริการอีเมล ตั้งค่า ProxyClient ก่อนเรียก Connect:

using MailKit.Net.Pop3;
using MailKit.Net.Proxy;
using MailKit.Security;

using var client = new Pop3Client();
client.ProxyClient = new Socks5Client("proxy.example.net", 1080);

client.Connect("pop.example.net", 995, SecureSocketOptions.SslOnConnect);
client.Authenticate(mailUser, mailPassword);

Console.WriteLine(client.Count);
client.Disconnect(true);

แทนที่โฮสต์ตัวอย่างด้วยปลายทาง SOCKS และอีเมลจริง ในคอนสตรักเตอร์ที่ไม่มีบัญชีพร็อกซี่ตามที่แสดง รายการจากรายการพร็อกซี่ SOCKS5 อาจให้ที่อยู่พร็อกซี่สำหรับเส้นทาง POP3S สาธารณะที่ได้รับอนุญาต พร็อกซี่นั้นต้องอนุญาตโฮสต์อีเมลและพอร์ตจริง ค่า mailUser และ mailPassword มาจากการจัดการข้อมูลรับรองกล่องจดหมายของแอปเอง ตัวอย่างนี้นับข้อความเท่านั้น ไม่ได้ดาวน์โหลดหรือทำเครื่องหมายให้ลบใด ๆ

API ที่แสดงมีเอกสารอยู่ใน MailKit 4.17.0 Socks5Client ยังมีคอนสตรักเตอร์ที่รับ System.Net.NetworkCredential เมื่อเซิร์ฟเวอร์ SOCKS ต้องการข้อมูลรับรอง

พอร์ต 995 กับ SslOnConnect เลือก TLS ทันทีสำหรับการเชื่อมต่อ POP3 เก็บชื่อโฮสต์ของเซิร์ฟเวอร์อีเมลไว้ใน Connect เพื่อให้ตรวจสอบใบรับรองได้ตามปกติ สำหรับผู้ให้บริการที่ต้องใช้ STLS บนพอร์ต 110 ให้เลือก SecureSocketOptions.StartTls อย่างชัดเจนและใช้ปลายทางตามเอกสารของผู้ให้บริการรายนั้น

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