2011-08-22 4 views
1

smtp 클라이언트를 사용하여 이메일을 통해 첨부 파일을 보내는 데 문제가 있습니다. 그것은 내 컴퓨터와 친구 컴퓨터에서 훌륭하게 보냅니다. 하지만 다른 2 명의 친구 컴퓨터가 파일을 보내는 데 문제가 있습니다. 나는 다른 곳에서 읽은 것처럼 문제가 포트라고 생각했는데 일부 ISP의 포트 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

은 이메일 제공자가 지정한 대체 smtp 포트가 2525입니까, 아니면 방금 구성 했습니까? –

+0

"문제가 있음"은 정확한 오류 설명이 아닙니다. –

+0

여기에 전체 예외를 붙이시겠습니까? – Waqas

답변

4

메일 제공자가 지정한 대체 포트를 사용해야합니다. 나는 라이브 메일이 587 번 포트를 사용한다고 생각한다.

2

이메일 제공 업체의 웹 사이트로 이동하여 다른 SMTP 포트를 찾을 수 있습니다. 그들 모두는 하나 또는 열 가지를가집니다. 그것이 가장 가능성있는 범죄자입니다. 25는 거의 항상 주거 라인에서 차단됩니다.

2

포트를 2525으로 변경할 수 없습니다. smtp.live.comport 25에 연결할 수 있습니다 (다른 설명이없는 경우) port 25 만 사용할 수 있습니다. 당신은

telnet smtp.live.com 25

친구의 컴퓨터에 방화벽을 확인 다음과 같이 그들이 나가는 port 25 차단 될 수 텔넷을 사용하여 확인할 수 있습니다. 또한 위의 명령을 입력하여 해당 컴퓨터에서 텔넷에 연결할 수 있는지 확인하십시오.

+0

대체 포트가 지정되지 않았습니까? 바로이 이유 때문에 거의 항상 대체 SMTP 포트가 있습니다. –

+0

나는 그것을 말하지 않았다. 나는 당신이 그가했던 것처럼 임의의 포트를 사용할 수 없다고 말했다. 그는 먼저 텔넷으로 확인해야합니다. –

+0

그래서 내가 물었다. –

관련 문제