1. sendmail 설치
yum -y install sendmail
yum -y install sendmail-cf
2. 설치 확인
정상적으로 설치 되었는지 데몬을 시작해 본다.
# service sendmail start
정상실행 되면 종료 한다.
# service sendmail stop
3. sendmail.mc 설정
/etc/mail로 이동
# cd /etc/mail
기존에 만들어져 있는 sendmail.cf는 백업하고 sendmail.mc는 복사 해놓는다.
백업
# mv sendmail.cf sendmail.cf.org
복사
# cp sendmail.mc sendmail.mc.org
-> sendmail.cf는 없는상태
sendmail.mc를 이용해 sendmail.cf를 생성한다.
sendmail.mc 수정
# vim sendmail.mc
vim에서 :set number로 줄번호 표시
52,53번째줄 주석을 제거한다. -> dnl 지움
116번째 줄 127.0.0.1 을 0.0.0.0으로 변경
127.0.0.1은 localhost , 0.0.0.0은 any open
여기까지가 sendamil.mc 설정 끝. wq! 로 저장하고 나온다.
4. sendmail.cf 생성
sendmail.mc 파일로 sendmail.cf 파일을 생성한다.
# m4 sendmail.mc > sendmail.cf
5. sendmail.cf 설정
95번째 줄 도메인 설정
187번째 줄 메세지 사이즈 설정 - 여기선 40메가
446번째 줄은 아래와 같이 수정한다.
6. local-host-names에 도메인 추가
/etc/mail/local-host-names
# vim local-host-names
7. TEST
telnet으로 메일이 전송되는지 테스트한다.
일단 sendmail 데몬 시작
# service sendmail start
telnet localhost 25
mail from : admin@trandent.com -> 보내는 사람
rcpt to : foo@gmail.com -> 받는사람
subject : Test mail -> 제목
data
test mail content
. -> 본문입력을 끝내려면 .을 찍는다
메일이 제대로 전송되었는지 확인한다.
메일이 없다면 스팸함으로 빠졌을 수도 있다. (ex : gmail)
메일 전송 로그 확인은 /var/log 의 maillog를 통해서 한다
# cd /var/log
# tail -f maillog
+ 내용추가
reject=550 에러나는 경우 REALY 설정이 필요합니다.
/etc/mail 의 access 파일을 수정합니다.
cd /etc/mail/
vim access
1 # Check the /usr/share/doc/sendmail/README.cf file for a description
2 # of the format of this file. (search for access_db in that file)
3 # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
4 # package.
5 #
6 # If you want to use AuthInfo with "M:PLAIN LOGIN", make sure to have the
7 # cyrus-sasl-plain package installed.
8 #
9 # By default we allow relaying from localhost...
10 Connect:localhost.localdomain RELAY
11 Connect:localhost RELAY
12 Connect:127.0.0.1 RELAY
위와같이 reject가 되는 ip를 추가해 줍니다.
121.121.121.121이 reject가 되고 있다고 가정했을때
13번째줄에 Connect:121.121.121.121 RELAY
를 추가해 줍니다.
저장하고 빠져나온 뒤
/etc/mail 에서
[root@trandent2 mail]# makemap hash access < access
명령어를 입력해 주면 relay가 잘 되는걸 확인 할 수 있습니다.