2014-12-24 10 views
0

C#, .NET 및 MVC에서 양식을 작성 중입니다. 백엔드에서 양식은 이메일을 통해 내용을 보냅니다. 테스트를 위해 로컬 설치 hMailServer을 사용하고 있습니다.MVC 응용 프로그램이 로컬 HMailServer를 통해 메일을 보낼 수 없습니다.

처음에는 localhost.localdomain으로 실행되도록 HMS를 설정했습니다. "로컬 호스트 이름"에 대한 SMTP 설정은 localhost입니다. 그래서 같은 포트 587에 연결을 시도 :

SmtpClient smtp = new SmtpClient 
{ 
    Host = WebConfigurationManager.AppSettings["emailServer"], 
    Port = 587, 
    EnableSsl = true, 
    DeliveryMethod = SmtpDeliveryMethod.Network, 
    UseDefaultCredentials = true, 
    Credentials = networkCredential 
}; 

내가 더블 및 자격 증명 내가 설정 한 메일 서버 사용자 및 암호 것을 트리플 확인합니다. 여기에서 그들은 경우에이 도움이됩니다

<add key="emailUser" value="[email protected]"/> 
<add key="emailPassword" value="~~~"/> 
<add key="emailServer" value="localhost.localdomain"/> 

localhost.localdomain를 사용하여 메일을 보내는 외부 메시지와 함께, 예외가 발생

: "실패 메일을 보내"및 내부 메시지 : "원격 이름을 확인할 수 없습니다 : 'localhost.localdomain'. "

그래서 companyname.com을 사용해 보았습니다. 메일을 보내는 중 외부 메시지 인 "메일을 보내지 못함"과 내부 메시지 인 "원격 서버에 연결할 수 없습니다."라는 예외가 발생합니다.

내 HMS 도메인 구성이 잘못되었거나 프로토콜 구성이 잘못되었습니다. HMS 문서는 도움이되지 못했지만, 나는 무엇을 찾아야할지 모른다.

ETA h 메일 서버 상태는 모든 테스트에도 불구하고 일주일 만에 처리 된 메시지가 전혀 표시되지 않습니다. 내가 개발을 위해 그것을 구성 방법은 다음과

+0

''localhost.localdomain'을 ping 할 때 응답을 얻나요? (나는 Win 8.1에서 여기에있다.) – Haney

+0

그런 생각을하지 않았기 때문에 그것을 시도했다. 결과 :'Ping 요청은 localhost.localdomain 호스트를 찾을 수 없습니다. 이름을 확인한 후 다시 시도하십시오.'그래서 나는 mail.companyname에게 ping했다.com.pub.where.secureserver.net'에 성공적으로 ping을 보냈습니다. 나는 두 번째 핑에 대해 혼란스럽고 첫 번째 핑을 수정하고 싶습니다. –

+1

호스트 파일'localhost.localdomain 127.0.0.1'에 항목을 추가하고 다시 시도하십시오. – Haney

답변

1

은 다음과 같습니다 만든 호스트 파일 항목을 다음과 같이 일단 완료

local.myname.com 127.0.0.1

, 내가 명령 프롬프트를 열고이 업데이트되어 있는지 확인하십시오. 나는 다음과 같이 테스트했다 :

호스트 파일 항목이 업데이트되면 127.0.0.1을 반환해야한다.

다음으로 hmail에서 local.myname.com이라는 새 도메인을 만들고 비밀번호가있는 이메일 주소를 추가해야합니다. 그래서 귀하의 이메일 주소는 [email protected]과 같을 것입니다.

다음으로 미리 프로토콜 구성과 IP 범위 대 인증 구성을 다시 확인해야합니다.

필자는 외부 수신 및 발신 전자 메일을 차단하고 내부 전자 메일에 대한 인증을 건너 뛰도록 구성했습니다. 기본적으로 IP 범위 설정 - 미리 할 수있는 일. 그런 다음 개발을 통해 모든 전자 메일이 *@local.myname.com인지 확인하고 정상적으로 작동하는지 확인해야합니다.

또한 hmail의 도움말 문서가 오류 코드와 함께 올바르게 작동하기 때문에 hmail에 로그인하여 자세한 오류를 확인할 수 있습니다.

실제로 이메일은 실제 이메일에 적합합니다. 개발을 위해서는 smtp4dev를 사용하는 것이 좋습니다.

+0

'tracert localhost.localdomain'은 한 번의 홉에서 127.0.0.1을 올바르게 반환합니다. 나는 이미 hMail에이 도메인을 가지고 있으며 내가 사용하고있는 이메일 주소를 가지고있다. 응용 프로그램, SMTP 및 POP3 로그가 켜져 있지만 잠시 동안 업데이트가 없습니다. 도움이 필요한 경우 다른 로그를 켰습니다. –

+0

아니, 아직 모든 hmail 로그 파일에 대한 업데이 트가 없습니다. –

+0

이 문서의 5 단계를 참조하십시오. http://swxben.com/setting-up-an-open-smtp-relay-in-an-intranet-with-hmailserver/ 실제로 건너 뛰고 내부 전자 메일에 대한 해당 설정을 사용하는 전체 인증 파트 * 또한 전자 메일이 *@yourdomain.com인지 확인하십시오. * 여기에 주목 한 것은 도메인이 .com, .net, .org 등으로 끝나는 것입니다. 안전한 도메인 목적을 위해서, 그 이유 때문에 그 형식이 거부되지 않도록 연습 할 수 있습니다. –