Se connecter à POP3 via SOCKS5 avec MailKit
Définissez le Socks5Client de MailKit avant de connecter un Pop3Client à un serveur POP3S.
MailKit fournit un client SOCKS5 directement via son interface de connexion au service de messagerie. Définissez ProxyClient avant d'appeler 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);Remplacez les hôtes d'exemple par les points de terminaison SOCKS et de messagerie réels. Dans le constructeur sans compte proxy montré, une entrée de la liste de proxies SOCKS5 peut fournir l'adresse du proxy pour une route POP3S publique autorisée ; il doit autoriser l'hôte de messagerie et le port réel. Les valeurs mailUser et mailPassword proviennent de la gestion des identifiants de boîte aux lettres par l'application. Cet exemple ne fait que compter les messages ; il ne télécharge rien et n'en marque aucun pour suppression.
L'API montrée est documentée dans MailKit 4.17.0. Socks5Client possède aussi un constructeur acceptant un System.Net.NetworkCredential lorsque le serveur SOCKS exige des identifiants.
Le port 995 avec SslOnConnect sélectionne immédiatement TLS pour la connexion POP3. Conservez le nom d'hôte du serveur de messagerie dans Connect afin que son certificat puisse être vérifié normalement. Pour un fournisseur qui exige STLS sur le port 110, choisissez explicitement SecureSocketOptions.StartTls et utilisez le point de terminaison documenté de ce fournisseur.