2010-05-07 85 views
0

所以我寫了這個程序來發送一組我的朋友的短信。 當我在工作中嘗試使用它時無法正常工作,它在家中正常工作。我收到一條錯誤消息「發送郵件失敗」。代理正在阻止我的程序連接到互聯網

我們在工作中使用了一個攔截代理。我雖然/希望一切都會奏效,但顯然不是。

那麼我需要做什麼,我從來沒有編程通過代理連接/發送流量。

我使用C#和SmtpClient類來發送消息。 這裏有一個小片段。

SmtpClient client = new SmtpClient(emailType.Address, emailType.Port); 
client.Credentials = new System.Net.NetworkCredential(tbxAccountUser.Text, tbxUserPassword.Text); 
client.Send(message); 

我跟我們的IT部門交談過,我有他們正在使用的IP,但我不確定我需要什麼。我甚至不能確定使用什麼類...

我嘗試這樣做:

的WebRequest myWebRequest = WebRequest.Create( 「http://www.google.com」); WebProxy myProxy = new WebProxy(); //獲取默認瀏覽器的代理屬性。
myProxy =(WebProxy)myWebRequest.Proxy;

 Uri newUri = new Uri("http://"+ ip +":8080"); 

     // Associate the new Uri object to the myProxy object. 
     myProxy.Address = newUri; 

     // Create a NetworkCredential object and is assign to the Credentials property of the Proxy object. 
     myProxy.Credentials = new NetworkCredential(userName, passWd); 
     myWebRequest.Proxy = myProxy; 

我不確定是否可以將它設置爲我的SmtpClient客戶端?

謝謝

回答

1

我遇到同樣的問題。 SMTP類沒有代理屬性,這使事情變得非常複雜。唯一想到的是使用WebRequest類並將您的郵件消息的每個屬性作爲單個字符串發送,然後等待服務器的響應(WebRequest具有代理屬性)。但我還沒有實現它。 :)