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 והשתמשו בנקודת הקצה המתועדת של אותו ספק.

מאמרים קשורים