Свързване с POP3 през SOCKS5 с MailKit
Задайте Socks5Client на MailKit, преди да свържете Pop3Client към POP3S сървър.
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 и използвайте документираната от него крайна точка.