MailKit tillhandahåller en SOCKS5-klient direkt via sitt anslutningsgränssnitt för e-posttjänsten. Ställ in ProxyClient innan du anropar 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);

Byt ut exempelvärdarna mot de faktiska SOCKS- och e-postslutpunkterna. I den visade konstruktorn utan proxykonto kan en post från SOCKS5-proxylistan tillhandahålla proxyadressen för en tillåten offentlig POP3S-rutt; den måste tillåta e-postvärden och den faktiska porten. Värdena mailUser och mailPassword kommer från applikationens egen hantering av postlådeuppgifter. Det här exemplet räknar bara meddelanden; det laddar inte ner något och markerar inget för borttagning.

API:t som visas är dokumenterat i MailKit 4.17.0. Socks5Client har också en konstruktor som tar emot en System.Net.NetworkCredential när SOCKS-servern kräver inloggningsuppgifter.

Port 995 med SslOnConnect väljer TLS direkt för POP3-anslutningen. Behåll e-postserverns värdnamn i Connect så att dess certifikat kan verifieras normalt. För en leverantör som kräver STLS på port 110 väljer du SecureSocketOptions.StartTls uttryckligen och använder leverantörens dokumenterade slutpunkt.

Relaterade artiklar