MailKit یک کلاینت SOCKS5 را مستقیماً از طریق رابط اتصال سرویس ایمیل خود ارائه می‌دهد. پیش از فراخوانی Connect، مقدار ProxyClient را تنظیم کنید:

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 همچنین سازنده‌ای دارد که وقتی سرور SOCKS اعتبارنامه می‌خواهد، یک System.Net.NetworkCredential می‌پذیرد.

پورت 995 همراه با SslOnConnect بلافاصله برای اتصال POP3 پروتکل TLS را انتخاب می‌کند. نام میزبان سرور ایمیل را در Connect نگه دارید تا گواهی آن به‌صورت عادی بررسی شود. برای ارائه‌دهنده‌ای که STLS روی پورت 110 می‌خواهد، SecureSocketOptions.StartTls را صریحاً انتخاب کنید و از نقطهٔ پایانی مستندشدهٔ همان ارائه‌دهنده استفاده کنید.

مقالات مرتبط