2011-08-22 72 views
1

我在使用smtp客戶端通過電子郵件發送附件時出現問題。它在我的電腦和朋友電腦上發送很棒。但另外兩臺好友電腦在發送文件時遇到問題。我認爲這個問題將會是端口,因爲我在其他地方看過某些ISP的block端口25,所以我已將端口更改爲2525,儘管這不能解決我的問題。他們得到相同的錯誤 - 發送消息時出錯。c#smtp發送問題?

下面提供的代碼 -

 MailMessage message = new MailMessage(); 
     try 
     { 
      SmtpClient client = new SmtpClient("smtp.live.com", 2525); 
      client.EnableSsl = true; 
      client.Credentials = new NetworkCredential("[email protected]", "abc123"); 

      MailAddress senderAddress = new MailAddress("[email protected]"); 
      Attachment attach = new Attachment(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "\\" + doc.getFirstName() + doc.getSurname() + ".doc"); 
      message.From = senderAddress; 
      message.Subject = "Physio Information"; 
      message.Attachments.Add(attach); 

      message.To.Add("[email protected]"); 
      message.Body = "Physio Report of " + doc.getFirstName() + " " + doc.getSurname(); 

      client.Send(message); 
      MessageBox.Show("Information Processed"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
      failMail = true; 
     } 
     finally 
     { 
      message.Dispose(); 
     } 
+0

是2525由電子郵件提供商指定的替代smtp端口,還是你只是補充它? 「有問題」的 –

+0

不是準確的錯誤描述。 –

+0

你能否在這裏粘貼你正在接受的整個異常? – Waqas

回答

4

您必須使用由郵件提供者指定的備用端口。我相信實時郵件使用端口587.給這個鏡頭。

2

轉至電子郵件提供商的網站,並找出備用的SMTP端口。他們都有一個或十個。這是最有可能的罪魁禍首。 25幾乎總是在住宅線路上阻塞。

2

您不能隨意將端口更改爲2525smtp.live.com可連接port 25(除非另有其他文件),因此只能使用port 25。您可以驗證使用telnet如下

telnet smtp.live.com 25

檢查你的朋友的電腦上的防火牆,他們可能會阻止傳出port 25。通過輸入以上命令,還可以檢查您是否能夠在這些計算機上進行遠程登錄。

+0

你確定沒有指定備用端口?出於這個原因,幾乎總是有一個備用的smtp端口。 –

+0

我沒有那麼說。我說你不能像他那樣使用隨機端口。他必須先通過telnet驗證。 –

+0

這就是我問的原因。 –