MailKit poskytuje klienta SOCKS5 přímo prostřednictvím svého rozhraní pro připojení poštovní služby. Nastavte ProxyClient před voláním 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);

Nahraďte ukázkové hostitele skutečnými koncovými body SOCKS a pošty. V uvedeném konstruktoru bez proxy účtu může záznam ze seznamu proxy SOCKS5 poskytnout adresu proxy pro povolenou veřejnou trasu POP3S; musí propouštět poštovního hostitele a skutečný port. Hodnoty mailUser a mailPassword pocházejí ze zpracování přihlašovacích údajů k poštovní schránce v aplikaci. Tento příklad pouze počítá zprávy; nic nestahuje ani neoznačuje k smazání.

Uvedené API je zdokumentováno v MailKitu 4.17.0. Socks5Client má také konstruktor přijímající System.Net.NetworkCredential, když server SOCKS vyžaduje přihlašovací údaje.

Port 995 se SslOnConnect volí pro spojení POP3 okamžitě TLS. Ponechte v Connect název hostitele poštovního serveru, aby bylo možné jeho certifikát běžně ověřit. Pro poskytovatele, který vyžaduje STLS na portu 110, zvolte výslovně SecureSocketOptions.StartTls a použijte koncový bod uvedený v jeho dokumentaci.

Související články