2011-03-06 3 views
1

내 사이트는 구매에서 확인 전자 메일을 보냅니다. 시간의 95 %가 작동합니다. 지불을 실행하고 이메일을 보내해야 '확인'버튼을 클릭 한 후 나머지 5 %는, 나는 다음과 같은 예외를 얻을 :SmtpClient.Send 예외

세부 사항 :

예외 : 메일을 전송 실패.

내부 예외 : 에 연결할 수 없습니다 내부 예외 (2)
원격 서버 : 연결된 파티 제대로 일정 기간 후 응답하지 않았기 때문에 연결 시도가 실패는, 또는 설정된 연결이 실패

0 : 연결된 호스트가 에 실패했기 때문에 이메일을 보내 72.167.234.197:25

에게 코드를 대응하는 것은 이것이다

FYI : 나는 자격 증명이나 25 이상의 다른 포트 번호가 필요 없다고 확인했습니다. 이는 https를 통해서도 실행됩니다.

이것이 왜 시간의 작은 부분에서만 일어나는가?

감사합니다.

데이브

답변

1

(이 질문에 어떤 결과입니다) 시각. 내가 아는 한 방화벽이나 메일 서버 자체의 유지 관리를 예약 할 수 있습니다.

'확인'버튼 프로세스의 일부가 아닌 메일을 비동기 적으로 보내도록 권합니다. 메일을 (영구적 인) 저장소에 저장하고 그 사이에 얼마간 보내려고 계속 노력하십시오.

또한 앱에서 로컬 메일 서버로 메일을 보내고 메일 서버가 메일을 72.167.234.197:25으로 전달하도록 권장합니다. 그렇게하면 재 시도를 무료로받을 수 있고 localhost으로 메일을 보내는 데 실패 할 가능성은 매우 적습니다 (또는 작아야합니다).

0

그것은 SMTP 서버와 통신/연결에서 사이트를 방지 실제 네트워크 오류가 있음을 가능한 아주 가능성이 박람회를 기반으로합니다. 트래픽이 너무 많거나 네트워크 연결이 느려질 수 있습니다. 내 권장 사항은 전자 메일 코드를 try/catch하고 어쩌면 포기하기 전에 전자 메일을 몇 번 보내고 다시 시도하는 것입니다.

시간의 95 %가 작동한다고 언급하면 ​​문제가 제어 외부에있을 가능성이 높습니다.

가 보조 노트로서, 당신은 아마 당신의 SMTP 서버의 실제 IP 주소를 포기하지 않을 고려해야 메일이의 일부를 실패하는 이유를 모르겠어요

+0

아,하지만 IP 주소를 좋아합니다. 어쩌면 내가 스팸 메일을 통해 라우팅 할 수 있습니다. 파란 알약이 필요 하신가요? 정말 싸구려 ... :) – extraneon

+0

IP가 호스트의 네트워크 외부의 연결을 거부하므로 걱정하지 않았습니다. – Dave