본문 바로가기

Programming/Linux

[SendMail] 콘솔에서 메일 보내기 - #1

 

콘솔에서 mail명령어를 통해 메일을 보낼 수 있다.

 

mail -s "제목" booraik@gmail.com 입력 시 내용을 입력 후 메일을 전송 할 수 있다.

 

작성 완료 시 새 라인에 . 만 입력 후 엔터 입력시 메일이 전송된다.

 

메일 전송 후 mail명령어로 메일 전송여부를 확인 결과 "Undelivered Mail Return"으로 전송이 실패됨을 확인.

 

확인 결과 mail명령어에 사용되는 mailx는 MUA라서 메일을 전송하는 일은 할 수 없다.

 

메일을 전송 할 수 있는 MTA에는 Sendmail과 Qmail 등이 있다.

 

sendmail 전송 확인 rpm -qa | grep sendmail 으로 확인. 역시 설치가 되어있지 않다.

 

yum -y install을 통해 sendmail을 설치하자.

 

설치 후 /etc/init.d/sendmail start 시 서비스 구동이 굉장히 느리다. 뭔가 문제가 있는 것 같다.

 

구글링 검색 결과 hostname 문제로 의심 된다. 확인 결과 hostname 때문이다.

 

로컬 호스트의 이름을 /etc/hosts, /etc/sysconfig/network와 일치 시켜야 한다.

 

/etc/sysconfig/network의 HOSTNAME을 변경 후 재부팅 한 후 해당 값을 /etc/hosts와 일치시켜야 한다.

 

/etc/hosts의 127.0.0.1과 ::1 의 맨 뒤에 호스트 명을 적어 준 후 sendmail restart. sendmail 정상동작 확인

 

다시 mail 명령어를 통해 메일을 전송...... 대기.......대기.........mail 로 메시지 확인..... log 확인....

 

메일이 오지 않는다. 한참 후 확인 결과 웹 메일이 아닌 booraik 아이디를 쓰는 다른 로컬 유저에게로 메일이...

 

아무래도 메일이 메일이 외부로 나가지 못해서 비슷한 아이디를 가진 다른 로컬 사용자에게 전송이 된 듯 하다.

 

sendmail설정을 변경하여 외부로도 메일 전송이 가능하도록 해보자.

 

일단 메일 전송 프로토콜인 SMTP를 사용하기 위해 TCP 25번 포트를 방화벽에서 열기

 

Connection refused 발생