MailKit nudi SOCKS5 klijent direktno kroz svoje sučelje za vezu s poštanskom uslugom. Postavite ProxyClient prije poziva 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);

Zamijenite primjere hostova stvarnim SOCKS i poštanskim odredištima. U prikazanom konstruktoru bez proxy računa, stavka iz liste SOCKS5 proxyja može dati adresu proxyja za dopuštenu javnu POP3S rutu; on mora propuštati poštanski host i stvarni port. Vrijednosti mailUser i mailPassword dolaze iz aplikacijskog rukovanja vjerodajnicama poštanskog sandučeta. Ovaj primjer samo broji poruke; ne preuzima ih i ne označava nijednu za brisanje.

Prikazani API dokumentovan je u MailKitu 4.17.0. Socks5Client ima i konstruktor koji prihvata System.Net.NetworkCredential kada SOCKS server zahteva vjerodajnice.

Port 995 uz SslOnConnect odmah odabira TLS za POP3 vezu. Zadržite ime hosta poštanskog servera u Connectu kako bi se njegov sertifikat mogao normalno provjeriti. Za pružaoca koji zahteva STLS na portu 110, izričito odaberite SecureSocketOptions.StartTls i koristite dokumentovano odredište tog pružaoca.

Povezani članci