linux/mail

Sendmail에서 계정 대문자로 인한 메일 전송 실패

배움엔 끝이없다 2021. 5. 25. 16:50
728x90
반응형

이번 글에서는 Sendmail을 구축한 서버로 메일을 전송하였을 때 전송이 실패하는 원인 중 하나에 대해 알아보려합니다.

 

오늘 알아볼 내용은 서버내에서 계정명에 대문자가 포함된 경우입니다.

 

기본적으로 제공되는 Sendmail은 계정의 대소문자를 구분하지 않고 무조건 소문자로 바꿔 버립니다.

 

그렇기 때문에 대문자가 포함된 계정으로 메일을 발송 시 전송이 실패가 됩니다.

 

 

 

이제 위 원인에 대하여 해결할 수 있는 방법을 알아보도록 하겠습니다.

(Sendmail을 미리 설치하였습니다.)

 

 

먼저 대문자가 포함된 계정을 생성합니다. (Jun)

 

 

그 다음 생성된 계정으로 메일을 보내보도록 하겠습니다.

 

위 처럼 내용 입력 후 보내봤습니다.

 

 

위 와 같이 메일 전송이 실패했다는 메일이 돌아옵니다.

 

메일 가운데 보시면 User unknown이라는 메세지가 있습니다.

 

서버내에서 오류 로그를 살펴보겠습니다.

 

# vi /var/log/maillog

 

maillog 상에서도 아래에서 2번째 줄에 User unknown이라는 메세지가 확인됩니다.

 

그리고 자세히 보면 jun이라는 계정을 알 수 없다라고 나오는데 처음에 설명드린 것과 같이 

Sendmail은 계정의 대소문자를 구분하지 않고 무조건 소문자로 바꾸어 버리기 때문에 Jun이라는 대문자 포함된 계정으로 메일을 보내도 jun으로 인식하게됩니다.

 

 

 

이 문제에 대한 해결 방법은 매우 간단합니다. 문제 해결을 위해 sendmail.cf 설정파일을 열어 보겠습니다.

 

# vi /etc/mail/sendmail.cf

 

 

위 내용 중 F=lsDFMAw5 라고 되어있는 부분이 있습니다. 여기에 한 글자만 추가하면 대소문자 구별이 되게 설정됩니다.

 

 

F=lsDFMAw5u 라고 수정하고 sendmail restart를 한 뒤 다시 메일을 보내보도록 하겠습니다.

 

 

 

test 메일을 보내보았습니다. 그리고 서버에서 확인 결과 정상적으로 받아지는 점 확인하였습니다.

 

 

 

이상 여기까지 Sendmail에서 발생하는 오류 중 하나인 대문자 포함 계정에 대한 메일 발송 오류에 대하여 알아보았습니다.

728x90
반응형
LIST