POP3 über SOCKS5 mit MailKit verbinden
Legen Sie MailKits Socks5Client fest, bevor ein Pop3Client sich mit einem POP3S-Server verbindet.
MailKit stellt einen SOCKS5-Client direkt über seine Verbindungsschnittstelle für den Maildienst bereit. Setzen Sie ProxyClient, bevor Sie Connect aufrufen:
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);Ersetzen Sie die Beispielhosts durch die tatsächlichen SOCKS- und Mail-Endpunkte. Im gezeigten Konstruktor ohne Proxykonto kann ein Eintrag aus der SOCKS5-Proxy-Liste die Proxyadresse für eine zulässige öffentliche POP3S-Route liefern; er muss den Mailhost und den tatsächlichen Port zulassen. Die Werte mailUser und mailPassword stammen aus der Behandlung der Postfach-Anmeldedaten in der Anwendung. Dieses Beispiel zählt nur Nachrichten; es lädt nichts herunter und markiert nichts zum Löschen.
Die gezeigte API ist in MailKit 4.17.0 dokumentiert. Socks5Client hat außerdem einen Konstruktor, der eine System.Net.NetworkCredential annimmt, wenn der SOCKS-Server Anmeldedaten verlangt.
Port 995 mit SslOnConnect wählt für die POP3-Verbindung sofort TLS. Behalten Sie den Hostnamen des Mailservers in Connect bei, damit sein Zertifikat normal geprüft werden kann. Bei einem Anbieter, der STLS auf Port 110 verlangt, wählen Sie SecureSocketOptions.StartTls ausdrücklich und verwenden Sie den dokumentierten Endpunkt dieses Anbieters.