2011-10-29 7 views
1

기본적으로 누군가 내 사이트에 메시지를 남기면받은 편지함으로 메일을 보내는 MVC 3 양식이 있습니다.MVC 메일을 보내는 양식

"메일을 보내지 못했습니다."라는 메시지와 함께 SmtpException이 발생합니다.

[HttpPost] 
    public ActionResult Contact(string name, string email, string message) 
    { 
     string From = "[email protected]******.com"; 
     string To = "[email protected]******.com"; 
     string Subject = name; 
     string Body = name + " wrote:<br/><br/>" + message; 

     System.Net.Mail.MailMessage Email = new System.Net.Mail.MailMessage(From, To, Subject, Body); 
     System.Net.Mail.SmtpClient SMPTobj = new System.Net.Mail.SmtpClient("smtp.**********.net"); 

     SMPTobj.EnableSsl = false; 
     SMPTobj.Credentials = new System.Net.NetworkCredential("[email protected]*******.com", "*******"); 

     try 
     { 
      SMPTobj.Send(Email); 
     } 
     catch (Exception ex) 
     { 
      Debug.WriteLine(ex.Message); 
      throw new Exception(); 
     } 

     return View(); 
    } 

서버에서 테스트하지 않고 로컬 테스트와 관련이 있습니까?

+0

로컬에서 실행할 때이 오류가 발생합니까? 서버에서? 양자 모두? web.config에서 SMTP 서버를 구성합니까? – dommer

+0

'SMPTobj.EnableSsl = true; 설정을 시도해 보았습니다. 또한 gmail'SMPTobj .Host = "smtp.gmail.com";과 같이 호스트를 설정하고 포트 (gmail)'SMPTobj.Port = 587;' – Rafay

+0

로컬 및 웹 서버 모두에서 발생합니다. "연결된 당사자가 일정 기간 후에 제대로 응답하지 않았기 때문에 연결 시도가 실패했거나 연결된 호스트가 응답하지 않아 연결이 실패했습니다"라는 오류 메시지가 나타납니다. –

답변

1

SmtpClient.Port를 호스트 전자 메일 포트로 설정해야합니까?

1

나는 새 예외를 다시 발생하지만, 단지 예외를 rethrowing

catch (Exception ex) 
{ 
     Debug.WriteLine(ex.Message); 
     throw; 
} 

사용하는 스택을 다시 설정하지 않도록 노력하는 것이 좋습니다 것입니다, 그래서 당신은 안정적으로 오류의 원인을 추적 할 수 있습니다. 이 경우 (재방송하지 않음) Visual Studio에서 InnerException 및 Status 속성을 볼 수 있습니다. 일반적으로이 오류의 원인에 대한 자세한 정보를 제공합니다. (로컬에서 테스트하는 경우 isp의 블록 포트 25 smtp 트래픽이 종종 있음)

두 번째로 web.config에서 모든 연결 세부 정보를 구성한 다음 응용 프로그램에서 하드 코딩하여 변경 사항을보다 쉽게 ​​테스트 할 수 있습니다. Gmail을 사용하는 예는 아래를 참조하십시오.

<system.net> 
<mailSettings> 
    <smtp deliveryMethod="Network" from="[email protected]"> 
    <network host="smtp.gmail.com" userName="[email protected]" password="password" enableSsl="true" port="587" /> 
    </smtp> 
</mailSettings> 
관련 문제