1. sendmail 설치
$ yum install sendmail

2. SMTP 인증부분 활성화
$ vi /etc/mail/sendmail.mc 수정
로컬 이외 relay 허용 - 아래 부분 주석 처리 (앞에 dnl 추가)
#DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
   =>dnl DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
stmp 인증 - 아래 부분 주석 제거 (앞의 dnl 삭제)
   #dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   #dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   => TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
       define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

$ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

3. sendmail config 수정
$ vi  /etc/mail/sendmail.cf
# SMTP daemon options
#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
O DaemonPortOptions=Port=smtp, Name=MTA
O AuthMechanisms=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5 PLAIN

FW 지 시자 : FW 지시자는 메일의 최종수신지 설정파일에 경로를 지정하는 곳으로서 sendmail 8.9.x 버전까지는 sendmail.cw 의 값으로 되어있지만 8.10.x 이후 버전부터는 local-host-names 파일로 설정되어 있다. 독자들이 사용하는 배포판에 포함된 센드메일의 버전을 확인후 local-host-names 로 변경해주자.
Fw/etc/mail/local-host-names
MaxMessageSize : 첨부파일을 포함한 메일 메시지 최대크기 제한 설정 부분
메일의 크기가 20M를 넘는다면 메일은 발신되지 못한다.
O MaxMessageSize=20000000
MinQueueAge : 임시보관 최소 시간 설정 부분
뒤 에서 언급하게 될 Timeout 설정값 이전에 적용될 우선적인 옵션으로 발송에 실패한 메일이 다시 재발송을 시도하기까지의 대기 시간을 설정 한다.. 기본값은 30분이며 기본적으로 서버부하를 줄이기 위해 # 주석처리 되어있지만 필요로 한다면 사용하여도 무방하다.
O MinQueueAge=30m
LogLevel : sendmail 이 가동되면서 발생되는 로그의 기록에 관련한 레벨을 설정
O LogLevel=9
각종 TimeOut 값 : 센드메일 서버의 각종 Timeout 값을 설정.
사용자가 샌드메일 서버에 접속하여 작업하는 최대시간을 1분으로 설정했다.
#O Timeout.initial=5m
O Timeout.connect=1m
#O Timeout.aconnect=0s
#O Timeout.iconnect=5m
#O Timeout.helo=5m
#O Timeout.mail=10m
#O Timeout.rcpt=1h
#O Timeout.datainit=5m
#O Timeout.datablock=1h
#O Timeout.datafinal=1h
#O Timeout.rset=5m
#O Timeout.quit=2m
#O Timeout.misc=2m
#O Timeout.command=1h
O Timeout.ident=0
#O Timeout.fileopen=60s
#O Timeout.control=2m
- 특정한 사유로 인해 메일이 전달되지 못하고 mqueue 에보관되고 있을시 보관 기간을 지정하는것으로 기본값은 5일이다. 이기간을 넘길경우 메일은 자동적으로 최초 발신지로 되돌려져 반송처리가 된다.
O Timeout.queuereturn=5d
#O Timeout.queuereturn.normal=5d
#O Timeout.queuereturn.urgent=2d
#O Timeout.queuereturn.non-urgent=7d
#O Timeout.queuereturn.dsn=5d
- 역시 특정한 사유로 인해 메일이 전달되지 못할시 최초 발신자에게 메일이 전달되지 못하고 있음을 경고하는 경고메일이 발송 되기까지의 대기 시간을 지정하며 기본값은 4시간이다.
O Timeout.queuewarn=4h
#O Timeout.queuewarn.normal=4h
#O Timeout.queuewarn.urgent=1h
#O Timeout.queuewarn.non-urgent=12h
#O Timeout.queuewarn.dsn=4h
#O Timeout.hoststatus=30m
#O Timeout.resolver.retrans=5s
#O Timeout.resolver.retrans.first=5s
#O Timeout.resolver.retrans.normal=5s
#O Timeout.resolver.retry=4
#O Timeout.resolver.retry.first=4
#O Timeout.resolver.retry.normal=4
#O Timeout.lhlo=2m
#O Timeout.auth=10m
#O Timeout.starttls=1h

4. sendmail 재시작
$ service sendmail restart
    Shutting down sm-client:    [  OK  ]
    Shutting down sendmail:     [  OK  ]
    Starting sendmail:          [  OK  ]
    Starting sm-client:         [  OK  ]

5. sendmail 테스트
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 linux.net ESMTP Sendmail 8.13.8/8.13.8; Tue, 11 Mar 2008 17:36:47 -0400

6. dovecot 설치
$ yum install dovecot

7. dovecot config 수정
$ vi  /etc/dovecot.conf
수정해야 할 부분은 딱 두 군데 뿐이다. (protocols, listen)
다음에 표시된 빨간색 protocols, listen을 참고 삼아서 똑 같이 수정한다.
# protocols = imap imaps pop3 pop3s
protocols = pop3
# listen = [::]
listen = *

8. dovecot 서비스 재시작
$ service dovecot restart
Stopping Dovecot Imap:                                  [  OK  ]
Starting Dovecot Imap:                                    [  OK  ]

9. 네트워크 확인
pop3, smtp 관련 포트가 주석이 제거되어 있는지 확인 후, 주석이 있으면 제거한다.
$ vi /etc/services
   smtp        25/tcp        mail
   smtp        25/udp       mail
   pop3        110/tcp       pop-3        # POP version 3
   pop3        110/udp      pop-3

10. dovecot pop3 서비스 테스트
$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.


[추가정보] 가상 도메인 서비스 도메인 등록
   네임서버를 운영하며 가상 도메인 서비스를 운영할 때 도메인을 등록하여 사용할 경우
   필요한 파일.
$ vi /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
your.domain.com
$ service sendmail restart
$ /etc/rc.d/init.d/xinetd restart

[조치]
1. Outlook에서 메일을 보낼 때, 다음과 같은 에러가 발생하는 경우,
     Relaying denied. IP name lookup failed
[서버]
# saslauthd를 찾아서 체크한다.
$ntsysv
# saslauthd 실행한다.
$ service saslauthd start
    Starting saslauthd:         [  OK  ]
[outlook]
아래 이미지와 같이 체크한다.

신고
  1. 2017.04.14 18:32

    비밀댓글입니다

+ Recent posts

티스토리 툴바