MailKit leverer en SOCKS5-klient direkte gennem sin forbindelsesgrænseflade til mailtjenesten. Angiv ProxyClient, før du kalder 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);

Erstat eksempelværterne med de faktiske SOCKS- og mailendepunkter. I den viste konstruktør uden proxykonto kan en post fra SOCKS5-proxylisten levere proxyadressen til en tilladt offentlig POP3S-rute; den skal tillade mailværten og den faktiske port. Værdierne mailUser og mailPassword kommer fra applikationens egen håndtering af postkasselegitimationsoplysninger. Dette eksempel tæller kun meddelelser; det henter intet ned og markerer intet til sletning.

Den viste API er dokumenteret i MailKit 4.17.0. Socks5Client har også en konstruktør, der tager en System.Net.NetworkCredential, når SOCKS-serveren kræver legitimationsoplysninger.

Port 995 med SslOnConnect vælger straks TLS til POP3-forbindelsen. Behold mailserverens værtsnavn i Connect, så certifikatet kan kontrolleres normalt. For en udbyder, der kræver STLS på port 110, skal du vælge SecureSocketOptions.StartTls eksplicit og bruge udbyderens dokumenterede endepunkt.

Relaterede artikler