본문 바로가기

wilson's story

sendmail 설정 tip 본문

Linux

sendmail 설정 tip

wilson 2007. 11. 12. 14:53
반응형

출처 : http://www.igotit.co.kr/zbxe/BRD_LINUX_UNIX/883


Tip : sendmail 설정 tip

조회수: 31, 2007.09.27 13:08:18
  • 게시글 주소 : http://www.igotit.co.kr/zbxe/883
  • 엮인글 주소 : http://www.igotit.co.kr/zbxe/883/trackback
1. sendmail 주요 설정 파일

a. /etc/mail/sendmail.cf
   sendmail 패키지의 기본 설정 파일.
   이 설정파일은 리눅스 설정 파일 중 방대하고, 암호화 형식이라 전문적인 기능을 요하지 않는다면
   변경할 필요가 없다.

b. /etc/mail/local-host-names
   네임서버를 운영하며 가상 도메인 서비스를 운영할 때 도메인을 등록하여 사용할 경우
   필요한 파일.

c. /etc/mail/access
   특정호스트나 도메인의 메일 RELAY를 허용하거나 거부를 제어하는 파일로써, 메일 서버를
   설정하는데 매우 유심하게 설정을 해야 하는 부분이다.

   [참고]
   # cat /etc/mail/access
   ----------------------------------------------------------------------------------
   # Check the /usr/share/doc/sendmail-8.11.6/README.cf file for a description
   # of the format of this file. (search for access_db in that file)
   # The /usr/share/doc/sendmail-8.11.6/README.cf is part of the sendmail-doc
   # package.
   #
   # by default we allow relaying from localhost...
   localhost.localdomain RELAY
   localhost RELAY
   127.0.0.1 RELAY
   211.255.253 RELAY <- 추가한 부분
   ----------------------------------------------------------------------------------

   가장 마지막 줄은 설정하려고 하는 메일서버의 네트워크 대역폭을 지정한 것이다.
   내부의 127.0.0.1과 211.255.253 대역을 가진 IP의 호스트만 RELAY기능을 허용한다는 내용이다.
   허용하고자 한 대역을 추가한 다음에는 makemap 명령으로 access.db 디비 파일을 갱신한다.
   ----------------------------------------------------------------------------------
   # makemap hash /etc/mail/access.db < /etc/mail/access
   ----------------------------------------------------------------------------------

   [참고1] 특정 도메인이나 호스트에 대해 접근을 제어도 가능합니다.
   paranx.com       : 특정 도메인에 대해서 접근 제어
   mail.paranx.com  : 특정 호스트에 대해서 접근 제어
   192.168.71.211   : 특정 IP 주소에 접근 제어
   admin@           : 특정 사용자에 대한 접근 제어

   [참고2] 접근 제어 옵션
   OK            : 지정한 호스트나 도메인에 대한 허용
   RELAY         : RELAY 허용
   REJECT        : 수신 및 발신 거부(반송)
   DISCARD       : 받은 메일 폐기
   "501 message" : 특정 사용자 및 주소에 대한 message 반송 접근 거부
   "550 message" : 특정 도메인에 대한 message 반송
   "570 message" : 특정 도메인 또는 특정 메일에 대한 경고 메시지 및 메일 거부

d. /etc/mail/virtusertable
   여러개의 도메인을 하나의 서버에서 서비스하는 호스팅일 때, 동일 유저명에 대해 사용을 할
   수 있게 한다.



2. sendmail 설치 확인

# rpm -qa | grep sendmail
sendmail-8.12.8-9.90



3. pop3 설치

POP3와 IMAP은 imap 패키지로 함께 묶여있다.

a. 설치확인
   # rpm -qa | grep imap
   imap-2001a-18

b. /etc/services에서 pop3관련 포트가 주석이 제거되어 있는지 확인 후, 주석이 있으면 제거한다.
   # cat /etc/services | grep pop3         ----------------------------------------------------------------------------------
   pop3            110/tcp         pop-3           # POP version 3
   pop3            110/udp         pop-3
   pop3s           995/tcp                         # POP-3 over SSL
   pop3s           995/udp                         # POP-3 over SSL
   ----------------------------------------------------------------------------------

c. /etc/xinetd.d/ipop3 에서 disable=yes 를 no로 변경한다.
   # cat /etc/xinetd.d/ipop3
   ----------------------------------------------------------------------------------
   # default: off
   # description: The POP3 service allows remote users to access their mail \
   #              using an POP3 client such as Netscape Communicator, mutt, \
   #              or fetchmail.
   service pop3
   {
           socket_type             = stream
           wait                    = no
           user                    = root
           server                  = /usr/sbin/ipop3d
           log_on_success  += HOST DURATION
           log_on_failure  += HOST
           disable                 = no
   }
   ----------------------------------------------------------------------------------

d. /etc/rc.d/init.d/xinetd 재실행 한다.

e. pop3 설정 테스트
   ----------------------------------------------------------------------------------
   [root@ns /etc/mail]# telnet localhost 110
   Trying 127.0.0.1...
   Connected to localhost.
   Escape character is '^]'.
   +OK POP3 ns v2001.78rh server ready
   ----------------------------------------------------------------------------------



4. SNMP 인증

/etc/mail/sendmail.mc 파일을 열고 아래 세줄을 수정한다.

a. 아래 두줄의 앞에 있는 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
   ----------------------------------------------------------------------------------

b. 로컬로만 작동하게 되는 영역을 수정한다.
   ----------------------------------------------------------------------------------
   # 수정 전
   DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

   # 수정 후
   DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
   ----------------------------------------------------------------------------------

수정 후 /etc/mail/sendmail.mc 파일을 /etc/sendmail.cf 에 적용하기 위해 아래 명령을 입력한다.

   ----------------------------------------------------------------------------------
   [root@ns /etc/mail]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
   ----------------------------------------------------------------------------------

만일 위의 명령이 제대로 수행되지 않는다면 sendmail-cf 패키지가 설치되지 않았기 때문이므로, 이 패키지를 설치 후 다시 실행한다.

실행 후 sendmail 데몬을 재실행 한다.

[참고] SMTP 인증 확인
아웃룩 익스프레스에서 계정 추가후 [서버] 설정 탭에서 [보내는 메일 서버] 에서 [인증필요]를 체크를 한 후 메일을 보내 본다.
아이디와 패스워드를 물어 보는 창에, 인증을 하면 메일이 발송되는 것을 볼 수 있을 것이다.
 
반응형