ssmtp를 이용해서 자동으로 메일을 전송하는 서비스를 구성하였습니다. 총 3개의 서버에서는 해당 서비스가 잘 동작하는데, 유독 한 서버에서만 아래와 같은 이메일이 전송되고 있습니다.
주소를 찾을 수 없음 rpiseongju 도메인을 찾지 못하여 user@rpiseongju 주소로 메일을 전송하지 못했습니다. 오타나 불필요한 공백이 있는지 확인한 후 다시 시도하세요. |
본 페이지에서는 이와 같은 에러 메시지가 메일로 수신될 때 이를 해결하는 방법에 대해서 설명드리고자 합니다.
문제의 상황
시골집에 라즈베리파이를 설치했습니다. 이 라즈베리파이에는 Ubuntu 리눅스가 설치되어 있는데, 1시간에 한 번씩 공인 IP를 확인해서 IP가 변경되면 이메일을 통해서 변경된 IP를 알려주는 서비스가 구성되어 있습니다. 시골집에서 사용하는 IP가 혹시나 변경될까봐 이런 서비스를 구성해두었는데, 아직까지 한 번도 IP가 변경된 적은 없네요.
변경된 IP 정보가 메일로 수신되어야 하는데, "도메인을 찾지 못해서 메일을 전송하지 못했습니다."라는 메시지가 지속적으로 발생을 했습니다.
문제 분석
ssmtp로 메일을 전송하는 기능이 제대로 구현되지 않아서 발생하는 문제로 추정이 됩니다. 아래의 명령으로 ssmtp 설정 파일을 살펴봅니다.
$ sudo vi /etc/ssmtp/ssmtp.conf
설정 파일을 살펴보다보니까 mailhub 설정은 올바른데 hostname 설정이 주석처리되어 있어서 발생한 문제였습니다.
# # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=esregnet0409@gmail.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.gmail.com:587 # Where will the mail seem to come from? #rewriteDomain= # The full hostname #hostname=smtp.gmail.com:587 (이하 생략) |
위의 설정을 보면 보내는 메일 설정은 gmail로 해두었으면서, hostname 설정이 없었습니다. hostname 설정이 없으면 메일을 보낼때 당연히 local host로 취급을 하겠지요.
왜 hostname을 주석 처리해놨는지 모르겠습니다. 주석을 삭제하여 hostname 설정을 아래와 같이 변경해줍니다.
기존 | # # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=esregnet0409@gmail.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.gmail.com:587 # Where will the mail seem to come from? #rewriteDomain= # The full hostname #hostname=smtp.gmail.com:587 (이하 생략) |
변경 | # # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=esregnet0409@gmail.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.gmail.com:587 # Where will the mail seem to come from? #rewriteDomain= # The full hostname hostname=smtp.gmail.com:587 (이하 생략) |
만약 gmail을 통해서 ssmtp 설정을 하셨다면 설정값을 다시 한번 확인해보시기 바랍니다.
ssmtp 보내는 메일 설정 방법
우분투 리눅스에서 ssmtp로 이메일을 전송할 수 있도록 설정하는 방법은 아래의 기사를 참조하시기 바랍니다.
이상입니다.
'SW개발 > 우분투 리눅스' 카테고리의 다른 글
우분투 리눅스에서 와이파이 네트워크 목록 삭제하는 방법 (0) | 2022.06.07 |
---|---|
우분투 22.04 한글 입력 안되는 문제 해결 방법 (kime로 대동단결) (5) | 2022.06.07 |
Ubuntu 22.04 설치 실패 [Errno 5] Input/output error (0) | 2022.06.05 |
[우분투] 핫스팟 로그인시에 화면 깨져서 나오는 문제 해결 방법 (0) | 2022.06.03 |
Could not resolve host: github.com 해결 방법 (0) | 2022.05.28 |
crontab이 제대로 실행되지 않는다면 crontab에서 지원하지 않는 명령일 수 있습니다. (pushd, popd 명령 사용 불가) (0) | 2022.05.26 |
우분투 리눅스에서 키보드 입력이 느린 문제 해결 방법 (USB 3.0 문제일 수 있습니다.) (0) | 2022.05.23 |
ssh 연결시 "Bad owner or permissions on /home/user/.ssh/config" 발생시 해결 방법 (0) | 2022.05.20 |