sendmail v8.15.2에서는 기본 Linux 사용자 ID가 완전히 소문자가 아닌 경우 550 Userknown을 보고합니다.

sendmail v8.15.2에서는 기본 Linux 사용자 ID가 완전히 소문자가 아닌 경우 550 Userknown을 보고합니다.

/etc/hosts 파일을 다음과 같이 변경하고 두 번째 줄을 추가했습니다.

127.0.0.1 localhost
127.0.0.1 myservername.mydomain.com myservername

또한 /etc/mail/local-host-names 파일에 myservername.mydomain.com을 추가했습니다.

이제 다음과 같이 이메일을 보낼 수 있습니다(Linux에 사용자 "Me"로 로그인함).

Me@myservername:~$ mail [email protected]
Cc:
Subject: test
test
<ctrl-d>
Me@myservername:~$

이메일이 다음으로 전송되었습니다.[이메일 보호됨], 출발/귀국 주소는 다음과 같습니다:

From: [email protected]

domain@myservername.mydomain.com으로 전송된 메일은 이 Linux 시스템으로 올바르게 전달됩니다.

그러나 회신하려고 하면 사용자 "내" 사서함으로 메시지를 보내는 대신 다음 오류가 발생합니다.

: RCPT TO:<[email protected]>
Remote server replied: 550 5.1.1 <[email protected]>... User unknown

흥미롭게도 다음 주소로 이메일을 보낼 수 있습니다.[이메일 보호됨]성공했지만[이메일 보호됨]550 사용자 알 수 없는 오류

그렇다면 인바운드 이메일이 루트 이외의 다른 로컬 사용자에게 전달되도록 허용하는 단계가 누락된 것일까요? 실제로는 사용자가 정의한 다른 사람에게 메일을 보낼 수 있지만 "나"에게는 보낼 수 없는 것으로 나타났습니다.

답변1

글쎄, 나는 내 자신의 질문에 답할 수 있습니다. 위에 제시한 예는 완전히 정확하지 않으며 문제를 가립니다. 예제 "me"를 사용자 ID로 바꾸고 가상의 도메인 이름을 사용했습니다. 실제 사용자 ID는 대소문자가 혼합된 것으로 밝혀졌습니다. 즉, 일부 대문자가 포함되어 있습니다. Sendmail은 대문자가 포함된 로컬 사용자 ID로 메일을 보내는 것을 지원하지 않는 것 같습니다. 이는 의미가 있습니다. Linux는 대소문자를 매우 구분하며 사용자 "User"와 사용자 "user"를 생성할 수 있으며 두 사용자는 서로 다른 사용자가 될 것이라고 생각합니다. 그러나 SMTP 주소는 일반적으로 대소문자를 구분하지 않으므로 sendmail은 사용자 부분을 소문자로 지정하고 일치하는 Linux 사용자를 찾는 것 같습니다. 이 소문자 사용자를 찾을 수 없으므로 550 오류 - User Unknown이 보고되었습니다. 나는 루트뿐만 아니라 내가 사용하고 있던 기본 관리자 ID가 아닌 내 상자에 정의된 다른 사용자에게 메일을 보낼 수 있다는 사실을 발견한 후에 이것을 발견했습니다. 실제로 위의 질문을 편집하여 사용자의 문자를 대문자로 바꾸고 질문 제목을 변경하겠습니다.

관련 정보