
서버 측에 문제가 있는 것으로 보이는 웹사이트에서 오류 메시지가 반환되었습니다. 그러나 이 서버는 상자의 다른 모든 사이트에서 작동합니다. 나(개발자)가 뭔가 잘못하고 있을 가능성이 있나요? 서버에서 이것을 추적하기 위해 어디서부터 시작해야 할지 모르겠고 시스템 관리자는 모든 것이 정상적으로 보인다고 말합니다.
The following recipient(s) cannot be reached:
Customer Service Account on 6/3/2009 11:00 AM
There was a SMTP communication problem with the
recipient's email server. Please
contact your system administrator.
<fgdc.myservername.net #5.5.0 smtp;550 Requested action not taken: mailbox unavailable>
서버는 2003, 64비트이고 Exchange 2003을 실행 중입니다.
사이트는 URL 라우팅을 사용하는 Asp.Net C#입니다.
이 문제를 해결하려면 어디서부터 시작해야 합니까?
업데이트
알고 보니 시스템 관리자는 스팸 방지 계층까지 문제를 추적했습니다. MIMESweeper는 내부 주소로 이메일을 보내려고 하는 웹 서버 팜의 메시지를 보고 메시지를 버릴 수 있는 것으로 나타났습니다. 외부 주소(Gmail, Hotmail 등)를 테스트했는데 제대로 작동했습니다.
모든 답변에 감사드립니다. 결과적으로 가장 좋은 대답은 내 관점에서 "시스템 관리자와 대화"였습니다. 하지만 비슷한 내용으로 모든 사람을 위해 질문을 업데이트하겠다고 생각했습니다.
답변1
이는 "RCPT TO:"로 지정한 사람이 유효하지 않다고 말하는 서버입니다.
Wireshark와 같은 것을 사용하여 코드와 서버 간의 SMTP 대화를 캡처하고 처음에 예상한 내용을 보내고 있는지 확인하는 것이 좋습니다. 회선에서 무슨 일이 일어나고 있는지 확인하고 코드에서 말하는 것과 일치하는지 확인하는 것은 항상 좋은 일입니다.
올바른 수신자를 지정하는 경우 서버 관리자에게 문의하여 확인하도록 하세요.
답변2
물론 개발자의 잘못일 수도 있습니다. 예를 들어 사양에 따르면 RCPT는 다음과 같아야 합니다.
RCPT TO:<[email protected]>
그러나 실제로 다음을 보내는 것은 매우 일반적인 관행입니다.
RCPT TO: [email protected]
대부분의 완전한 기능을 갖춘 성숙한 MTA는 엄격하게 정확하지는 않더라도 후자를 허용합니다. 일부 앱(예: 메일 방화벽, CRM 메일 수집기 등)은 이에 대해 엄격하여 오류를 반환합니다.
이 경우 이것이 원인이라고 말하는 것은 아니지만 이는 코드가 대부분의 서버에서 어떻게 작동할 수 있는지에 대한 예이지만 소수의 서버에서 문제가 발생하면 여전히 사용자의 잘못입니다.
나는 트래픽을 스니핑하고 실제로 전송되는 내용을 이해하라는 Evan의 권장 사항에 두 번째로 동의합니다.
답변3
말하자면 재래식 무기를 사용하여 해당 이메일 주소로 이메일을 보낼 수 있습니까? 그렇다면 아마도 귀하의 코드 일 것입니다. 그렇지 않은 경우 해당 서버(또는 해당 서버에 대해 스마트호스트를 시도하는 방화벽)일 수 있습니다.
답변4
궁금하신 분들은 이곳이 serverfault 사이트입니다. 시스템 관리자가 코드라고 말하면 코드입니다. 오류는 항상 개발자의 잘못입니다. 시스템 관리자를 비난하고 싶다면 더 공감할 수 있는 stackoverflow라는 사이트가 있다고 들었습니다 :)
진지하게 말하면, 그렇습니다. 코드입니다. 오류에 따르면 수신자가 유효하지 않습니다. 어떻게든 웹서버가 "고객 서비스 계정"이라는 계정으로 메일을 보내려고 합니다. 모든 이메일 주소는 다음과 같은 형식입니다.[이메일 보호됨]. 550 오류가 발생했다는 것은 대상 메일 서버에 제대로 연결했지만 "고객 서비스 계정"이라는 사용자가 없음을 나타냅니다.
기술적으로 550은 중계할 수 없다는 의미인데 내부 사서함으로 보내려고 하는 것으로 추측됩니다. 중계를 시도하더라도 이 수신자의 형식이 올바르지 않습니다.