2010-07-13 3 views
0

프로덕션 IIS 6.0 서버에 웹 응용 프로그램을 배포했는데 코드가 비어있는 주소로 전자 메일을 보내려고 할 때를 제외하고는 모든 것이 작동합니다 이메일 서버의 도메인 다양한 증상을 보았지만 설명하는 것이 가장 직관적 인 것처럼 보입니다.System.Web.Mail과 다른 System.Net.Mail에 대한 SMTP 릴레이 요구 사항이 있습니까?

구문 오류 매개 변수 또는 인수가 있습니다. 서버 응답 : 5.7.1이 시스템은 메일을 릴레이하도록 구성되지 않았습니다.

이 오류 메시지를받는 웹 응용 프로그램은 System.Net.Mail을 사용합니다. 그것은 System.Web.Mail을 사용하는 이전 웹 응용 프로그램과 함께 대체됩니다. 동일한 기계에는 릴레이와 관련하여 새로운 구성이 필요한 SMTP 서버가 하나 있습니다.

SMTP 서버 속성을 검사 한 결과 "릴레이 제한"이 구성되지 않았습니다. 오래된 프로덕션 웹 앱은 설명 된대로 SMTP 서버를 구성하여 오류없이 전자 메일을 보냅니다.

요약하면 System.Net.Mail을 사용하면 System.Web.Mail보다 전자 메일 릴레이에 다른 것이 필요합니까?

문제를 릴레이가 최신 버전의 Web.config에는 다음이 포함 내 모든 테스트 (첫번째 XP 내 로컬 호스트에서 IIS 5.1 이상 내가 값을 사용

<system.net><mailSettings><smtp><network host="mail.cbmiweb.com" port="25"/></smtp> 

후 스테이징 IIS에 6.0 LAN 서버에있는 서버) "릴레이"문제가 없었습니다.

System.Web.Mail을 사용하는 이전 버전의 web.config에는 SMTP와 관련된 내용이 없습니다!

갑자기 개발하는 동안 위의 방법 내가 필요하지 와서 "인증"을 설정 SMTP에 추가 이름암호가 필요하다면?

저는 SMTP에 대해 많이 알지 못하고 메일 서버 관리자에게 무엇을 물어볼 지 모릅니다. 나는 무엇을해야하는지에 대해 매우 혼란 스럽다 ... 고마워.

답변

1

기존 응용 프로그램처럼 저에게 들리는 소리는 수신자 서버에 직접 메시지를 보내고 로컬 메일 서버를 완전히 우회합니다. 이것은 응용 프로그램이 메일 서버를 구성 할 필요가 없었기 때문에 일어 났을 것이므로 기본적으로 메일 자체를 보내려고합니다.

수신자 메일 서버 구성에 따라 응용 프로그램이 지연 될 수 있으므로 일반적으로 좋지 않습니다. 여기서는 몇 초가 걸립니다. 회색 목록 등을 처리하도록 구성하지 않은 경우 이 전송되었지만 실제로 도착하지 않았다고 생각하는 많은 수의 이메일을 가질 수 있습니다.

시스템에서 릴레이를 허용하도록 로컬 메일 서버를 올바르게 구성하도록 메일 서버 관리자에게 요청해야합니다.

OR (이것은 더 안전한 방법입니다)

당신은 당신의 로컬 메일 서버의 사용자를 설정해야하며, 이메일을 보내하려고 할 때 앱이 그 로그인 자격 증명을 사용합니다.

systemnetmail.com 사이트가 도움이 될 수 있습니다. 특히 smtp configuration 페이지.

+0

감사합니다. 지금 더 많이 이해하기 시작했습니다. "오래된 응용 프로그램은 메일 서버를 사용하지 않았을 것입니다."- 오래된 응용 프로그램의 web.config에 항목이 없기 때문에 추측합니까? 즉, 분명히 System.Net.Mail과 System.Web.Mail의 차이점을 기반으로하지 않습니다. 위의 두 가지 모두 사실이라면, 아마도 새로운 앱의 web.config에서 설정 한 내용 인 을 제거하려고 시도 할 것입니다. 나는 최근 내 이메일 관리자로부터 localhost와 스테이징 웹 서버가 우리 LAN에 있고 모든 PC가 "중계 할 수있다"는 것을 알게되었습니다. 솔루션에 접근하기. 감사. –

관련 문제