2013-01-11 79 views
0

我使用下面的代碼爲SMTP:SMTP在Socks代理

  MailMessage mail = new MailMessage(); 
      mail.From = new System.Net.Mail.MailAddress(Global.username); 
      mail.Subject = Global.subject; 

      SmtpClient smtp = new SmtpClient(); 
      smtp.Port = 587; 
      smtp.EnableSsl = true; 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.UseDefaultCredentials = false; 
      smtp.Credentials = new NetworkCredential(Global.username, Global.password); 
      smtp.Host = "smtp.gmail.com"; 

      mail.To.Add(new MailAddress(Global.to)); 

      mail.IsBodyHtml = true; 
      mail.Subject = Global.subject; 
      mail.Body = Global.message; 
      smtp.Send(mail); 

完美的作品,但問題是我需要的HTTP和Socks代理支持。我正在尋找可用於商業目的的無醚庫,或者我應該採取什麼方法來讓代理運行。我還需要POP3和IMAP,我認爲編寫自己的包裝比找到已經存在的東西要容易些,但我不確定從哪裏開始。我已經用HTTP和Socks支持完成了自己的HTTP包裝,但是我不確定SMTP,IMAP和POP3如何通過代理工作。對於我來說,完成這件事的最佳方式是什麼?謝謝!

回答

1

襪子支持需要嵌入SMTP類本身(或至少,它的管理套接字連接的部分),這不是這裏的情況。您有兩種選擇:

  1. 或者,你需要使用SOCKS代理/隧道應用程序或類,這將打開一個監聽用於MailMessage的替代品,它具有內置的
  2. SOCKS支持套接字在本地系統上,並會接受連接。然後它將充當SOCKS客戶端並通過兩種方式傳遞數據。您將設置您的MailMessage實例與本地端口一起工作,並且數據將被正確包裝以供您穿過SOCKS。
3

怎麼樣使用CNTLM?我之前使用過Python,我沒有用其他編程語言嘗試過。