MailKit ofrece un cliente SOCKS5 directamente mediante a súa interface de conexión do servizo de correo. Asigna ProxyClient antes de chamar a 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);

Substitúe os hosts de exemplo polos puntos finais reais de SOCKS e do correo. No construtor sen conta de proxy que se mostra, unha entrada da lista de proxies SOCKS5 pode fornecer o enderezo do proxy para unha ruta POP3S pública permitida; debe permitir o host de correo e o porto real. Os valores mailUser e mailPassword proveñen do manexo de credenciais do buzón na propia aplicación. Este exemplo só conta mensaxes; non descarga nada nin marca ningunha para eliminar.

A API mostrada está documentada en MailKit 4.17.0. Socks5Client tamén ten un construtor que acepta un System.Net.NetworkCredential cando o servidor SOCKS require credenciais.

O porto 995 con SslOnConnect selecciona TLS de inmediato para a conexión POP3. Mantén o nome de host do servidor de correo en Connect para que o seu certificado se poida verificar normalmente. Para un provedor que esixe STLS no porto 110, selecciona SecureSocketOptions.StartTls explicitamente e usa o punto final documentado dese provedor.

Artigos relacionados