MailKit menyediakan klien SOCKS5 langsung melalui antarmuka koneksi layanan surutnya. Setel ProxyClient sebelum memanggil 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);

Ganti host contoh dengan titik akhir SOCKS dan surat yang sebenarnya. Pada konstruktor tanpa akun proksi yang ditunjukkan, entri dari daftar proksi SOCKS5 dapat menyediakan alamat proksi untuk rute POP3S publik yang diizinkan; proksi itu harus mengizinkan host surat dan port sebenarnya. Nilai mailUser dan mailPassword berasal dari penanganan kredensial kotak surat milik aplikasi. Contoh ini hanya menghitung pesan; ia tidak mengunduh apa pun dan tidak menandai pesan mana pun untuk dihapus.

API yang ditunjukkan didokumentasikan di MailKit 4.17.0. Socks5Client juga memiliki konstruktor yang menerima System.Net.NetworkCredential ketika server SOCKS memerlukan kredensial.

Port 995 dengan SslOnConnect langsung memilih TLS untuk koneksi POP3. Pertahankan nama host server surat di Connect agar sertifikatnya dapat diperiksa seperti biasa. Untuk penyedia yang mewajibkan STLS pada port 110, pilih SecureSocketOptions.StartTls secara eksplisit dan gunakan titik akhir terdokumentasi penyedia tersebut.

Artikel terkait