Łączenie z POP3 przez SOCKS5 z MailKit
Ustaw Socks5Client z MailKita przed podłączeniem Pop3Client do serwera POP3S.
MailKit udostępnia klienta SOCKS5 bezpośrednio przez interfejs połączenia usługi pocztowej. Ustaw ProxyClient przed wywołaniem 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);Zastąp przykładowe hosty rzeczywistymi punktami końcowymi SOCKS i poczty. W pokazanym konstruktorze bez konta proxy wpis z listy proxy SOCKS5 może dostarczyć adres proxy dla dozwolonej publicznej trasy POP3S; musi on przepuszczać host poczty i rzeczywisty port. Wartości mailUser i mailPassword pochodzą z obsługi danych logowania do skrzynki w samej aplikacji. Ten przykład tylko liczy wiadomości; niczego nie pobiera ani nie oznacza do usunięcia.
Pokazane API jest udokumentowane w MailKit 4.17.0. Socks5Client ma też konstruktor przyjmujący System.Net.NetworkCredential, gdy serwer SOCKS wymaga danych logowania.
Port 995 z SslOnConnect od razu wybiera TLS dla połączenia POP3. Zachowaj nazwę hosta serwera poczty w Connect, aby jego certyfikat można było sprawdzić w zwykły sposób. W przypadku dostawcy wymagającego STLS na porcie 110 wybierz jawnie SecureSocketOptions.StartTls i użyj udokumentowanego punktu końcowego tego dostawcy.