WindyHana's Solanara: Sendmail,QPopper


재 작성중
재 작성중인 컨텐츠로, 일부 내용이 현재 버전과 맞지 않을 수 있습니다. 빠른 시일안에 완료할 예정입니다.

개요

설치

라이브러리

  1. GNU make: make-3.80-sol9-intel-local.gz
    ※ SASL을 컴파일 하기 위해 GNU make를 설치한다.
    root@wl ~ # wget ftp://ftp.sunfreeware.com/pub/freeware/intel/9/make-3.80-sol9-intel-local.gz
    root@wl ~ # gunzip make-3.80-sol9-intel-local.gz
    root@wl ~ # pkgadd -d make-3.80-sol9-intel-local
    
  2. Berkeley DB: db-4.4.20.tar.gz
    ※ 유닉스 프로그램에서 보통 DB라 하면 이 버클리 DB를 말할정도로 대중적인 임베디드 데이터베이스이다. 예전에는 독립적인 법인이었으나 현재는 오라클에 합병되었다. SENDMAIL뿐만 아니라 APACHE에서도 사용된다.
    root@wl ~ # wget http://downloads.sleepycat.com/db-4.4.16.tar.gz
    root@wl ~ # gtar xvfz db-4.4.20.tar.gz
    root@wl ~ # cd db-4.4.20
    root@wl ~/db-4.4.20 # cd build_unix
    root@wl ~/db-4.4.20/build_unix # ../dist/configure
    root@wl ~/db-4.4.20/build_unix # make
    root@wl ~/db-4.4.20/build_unix # make install
    root@wl ~/db-4.4.20/build_unix # vi /etc/profile
    # for BerkeleyDB located at /usr/local/BerkeleyDB.4.4
    if [ -d /usr/local/BerkeleyDB.4.4 ]
    then
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.4/lib
    fi
    root@wl ~/db-4.4.20/build_unix # . /etc/profile
    
  3. OpenSSL: 윈디하나의 솔라나라: OpenSSL참조
  4. Cyrus SASL: cyrus-sasl-2.1.21.tar.gz
    ※ SASL(Simple Authentication and Security Layer)은 썬더버드나 아웃룩에서 메일을 보낼때, 이름과 암호를 사용해 메일을 보낼 수 있도록 해준다. SASL라이브러리 중 가장 유명한것이 Cyrus SASL이다. SASL의 기능은 방대하지만 여기서는 그 용도를 '솔라리스의 로컬 계정정보를 이용해 메일 보내기 인증'로 한정해 설명한다. 즉 이와 필요 없는 부분에 대해서는 설치하지 않는다.
    root@wl ~ # wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.21.tar.gz
    root@wl ~ # gtar xvfz cyrus-sasl-2.1.21.tar.gz
    root@wl ~ # cd cyrus-sasl-2.1.21
    root@wl ~/cyrus-sasl-2.1.21 # cp /usr/include/sys/des.h include/ 1)
    root@wl ~/cyrus-sasl-2.1.21 # ./configure \
      --enable-login \
      --with-pwcheck \
      --disable-digest \
      --disable-srp \
      --disable-krb4 \
      --disable-gssapi \
      --disable-anon
    root@wl ~/cyrus-sasl-2.1.21 # which make 2)
    /usr/local/bin/make
    root@wl ~/cyrus-sasl-2.1.21 # make
    root@wl ~/cyrus-sasl-2.1.21 # make install
    root@wl ~/cyrus-sasl-2.1.21 # ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 3)
    root@wl ~/cyrus-sasl-2.1.21 # mkdir -p /var/state/saslauthd 4)
    root@wl ~/cyrus-sasl-2.1.21 # vi /usr/lib/sasl2/Sendmail.conf 
    pwcheck_method: saslauthd
    root@wl ~/cyrus-sasl-2.1.21 # /usr/local/sbin/saslauthd -v 5)
    saslauthd 2.1.21
    authentication mechanisms: getpwent pam rimap shadow
    root@wl ~/cyrus-sasl-2.1.21 # /usr/local/sbin/saslauthd -a pam 6)
    root@wl ~/cyrus-sasl-2.1.21 # vi /etc/init.d/saslauthd 6)
    #!/bin/sh
    case "$1" in
      start)
            /usr/local/sbin/saslauthd -a pam
            ;;
      stop)
            pkill saslauthd
            ;;
      *)
            echo "Usage: saslauthd {start|stop}"
            exit 1
    esac
    exit 0
    root@wl ~/cyrus-sasl-2.1.21 # chmod 744 /etc/init.d/saslauthd
    root@wl ~/cyrus-sasl-2.1.21 # ln -s /etc/init.d/saslauthd /etc/rc2.d/S87saslauthd
    root@wl ~/cyrus-sasl-2.1.21 # ln -s /etc/init.d/saslauthd /etc/rc0.d/K37saslauthd
    root@wl ~/cyrus-sasl-2.1.21 # ln -s /etc/init.d/saslauthd /etc/rc1.d/K37saslauthd
    root@wl ~/cyrus-sasl-2.1.21 # ln -s /etc/init.d/saslauthd /etc/rcS.d/K37saslauthd
    
    1) des.h를 찾지 못하기 때문에 복사해준다.
    2) GNU make인지 확인한다. 반드시 GNU make 이어야 한다.
    3) 간혹 sasl2라이브러리를 /usr/lib/sasl2에서 찾는 프로그램이 있다. 이를 위해 심볼릭 링크를 걸어주었다.
    4) SASL2부터 shadow를 지원하지 않는다. saslauthd 데몬을 이용해 인증해야 한다.
    5) saslauthd이 이용할 수 있는 인증 메카니즘을 확인한다. pam이 반드시 있어야 한다.
    6) pam방식의 인증을 사용할 수 있도록 데몬을 띄운다. SMTP AUTH할때 반드시 이 데몬이 띄워져 있어야 한다.

SENDMAIL

  1. sendmail 설치

    Sendmail: sendmail.8.13.8.tar.gz
    root@wl ~ # /etc/init.d/sendmail stop 1)
    root@wl ~ # pkgrm SUNWsndmr 1)
    root@wl ~ # pkgrm SUNWsndmu 1)
    
    root@wl ~ # groupadd -g 25 smmsp 2)
    root@wl ~ # useradd -c "SendMail Message Submission Program" -u 25 -g smmsp smmsp 2)
    
    root@wl ~ # wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.13.8.tar.gz
    root@wl ~ # gtar xvfz sendmail.8.13.8.tar.gz
    root@wl ~ # cd sendmail-8.13.8
    root@wl ~/sendmail-8.13.8 # vi ./devtools/Site/site.config.m4 3)
    dnl makemap 
    APPENDDEF(`confMAPDEF', `-DNEWDB') 
    APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.4/lib')
    APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.4/include')
    
    dnl SASLv2 Support
    APPENDDEF(`confENVDEF', `-DSASL=2')
    APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
    APPENDDEF(`confLIBDIRS', `-L/usr/local/lib/sasl2') 
    APPENDDEF(`confINCDIRS', `-I/usr/local/include/sasl') 
    
    dnl LDAP Support for Solaris 9
    APPENDDEF(`confMAPDEF', `-DLDAPMAP') 
    APPENDDEF(`confENVDEF', `-DSM_CONF_LDAP_MEMFREE') 
    APPENDDEF(`confLIBS', `-lldap') 
    
    dnl OpenSSL Support
    APPENDDEF(`confENVDEF', `-DSTARTTLS')
    APPENDDEF(`confLIBS', `-lssl -lcrypto')
    APPENDDEF(`confLIBDIRS', `-L/usr/local/ssl/lib')
    APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include')
    
    root@wl ~/sendmail-8.13.8 # ./Build 4)
    root@wl ~/sendmail-8.13.8 # mkdir /usr/share/man/cat1; mkdir /usr/share/man/cat5; mkdir /usr/share/man/cat8 5)
    root@wl ~/sendmail-8.13.8 # ./Build install
    root@wl ~/sendmail-8.13.8 # cp obj.SunOS.5.9.i86pc/mail.local/mail.local /usr/lib 6)
    root@wl ~/sendmail-8.13.8 # /usr/lib/sendmail -d0 < /dev/null 7)
    Version 8.13.8
     Compiled with: DNSMAP LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8
                    MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS
                    NISPLUS PIPELINING SASLv2 SCANF STARTTLS USERDB USE_LDAP_INIT
                    XDEBUG
    
    ============ SYSTEM IDENTITY (after readcf) ============
          (short domain name) $w = wl
      (canonical domain name) $j = wl.solanara.net
             (subdomain name) $m = solanara.net
                  (node name) $k = wl
    ========================================================
    
    Recipient names must be specified
    
    1) 솔라리스9에 설치되어있는 Sendmail을 삭제한다.
    2) smmsp 계정과 그룹을 만든다. 솔라리스 9 이상의 경우 이미 생성되어있으니 할 필요없다.
    3) site.config.m4 파일을 만든다.
    4) 컴파일한다. 일반적인 make명령이 아니다.
    5) 매뉴얼 파일을 복사할 곳을 미리 만들어놓는다. 매뉴얼 파일이 /usr/local/man 아래의 적당한 곳으로 가도록 Build 파일을 수정해도 된다.
    6) mail.local 파일은 복사되지 않는다. (보안문제로) 이 파일이 없으면 메일이 로컬에 저장되지 않는다. 복사해 놓는다.
    7) SASLv2와 STARTTLS 문자가 보이는지 확인한다.
  2. sendmail.cf 파일 생성

    root@wl ~/sendmail-8.13.8 # cd ./cf/cf 1)
    root@wl ~/sendmail-8.13.8/cf/cf # cp generic-solaris.mc sendmail.mc 2)
    root@wl ~/sendmail-8.13.8/cf/cf # vi sendmail.mc 3)
    define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl
    define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
    TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
    
    define(`CERT_DIR', `/usr/local/ssl/certs')
    define(`confCACERT', `CERT_DIR/ca.crt')
    define(`confCACERT_PATH', `CERT_DIR')
    define(`confSERVER_CERT', `CERT_DIR/signed-req.pem')
    define(`confSERVER_KEY', `CERT_DIR/req.key')
    define(`confCLIENT_CERT', `CERT_DIR/signed-req.pem')
    define(`confCLIENT_KEY', `CERT_DIR/req.key')
    
    FEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected ($&{client_addr}) - see http://www.mail-abuse.org/rbl/')dnl
    FEATURE(dnsbl, `spamlist.or.kr',            `Rejected ($&{client_addr}) - see http://www.kisarbl.or.kr/')dnl
    FEATURE(dnsbl, `cbl.abuseat.org',           `Rejected ($&{client_addr}) - see http://cbl.abuseat.org')dnl
    
    
    FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
    FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl
    FEATURE(`smrsh',`/usr/lib/smrsh')dnl
    
     
    FEATURE(use_cw_file)dnl
    FEATURE(use_ct_file)dnl
    FEATURE(`always_add_domain')dnl
    FEATURE(`accept_unqualified_senders')dnl
    FEATURE(`accept_unresolvable_domains')dnl
    FEATURE(`relay_entire_domain')dnl
    root@wl ~/sendmail-8.13.8/cf/cf # ./Build sendmail.cf 4)
    root@wl ~/sendmail-8.13.8/cf/cf # cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old 5)
    root@wl ~/sendmail-8.13.8/cf/cf # cp /etc/mail/submit.cf /etc/mail/submit.cf.old
    root@wl ~/sendmail-8.13.8/cf/cf # ./Build install-cf 6)
    root@wl ~/sendmail-8.13.8/cf/cf # cd ../..
    
    1) cf 디렉토리안의 cf 디렉토리로 이동한다.(오타가 아니다)
    2) 설치하려는 운영체제가 솔라리스이므로 generic-solaris.mc 파일을 sendmail.mc로 복사한다.
    3) 복사한 sendmail.mc 을 수정한다. DOMAIN(generic)dnl 아래에 위 내용을 붙이면 된다.
    4) 이 명령이 수행되면 sendmail.cf와 submit.cf가 생성될 것이다.
    5) 기존 파일이 있다면 백업받는다.
    6) 이 명령이 수행되면 sendmail.cf와 submit.cf를 /etc/mail로 복사될 것이다.
  3. 디렉토리/파일 설정

    root@wl ~/sendmail-8.13.8 # crle -u -l /usr/local/lib 1)
    root@wl ~/sendmail-8.13.8 # crle -u -l /usr/local/ssl/lib
    root@wl ~/sendmail-8.13.8 # crle -u -l /usr/local/BerkeleyDB.4.4/lib
    root@wl ~/sendmail-8.13.8 # cd /etc/mail
    root@wl /etc/mail # vi trusted-users 2)
    root
    root@wl /etc/mail # vi local-host-names 3)
    mydomain.com
    solanara.net
    root@wl /etc/mail # vi relay-domains 4)
    solanara.net
    root@wl /etc/mail # vi access 5)
    127.0.0.1 RELAY
    spam.com REJECT
    root@wl /etc/mail # makemap hash access < access
    root@wl /etc/mail # vi virtusertable 6)
    admin@solanara.net hana
    admin@solanara2.net hana2
    root@wl /etc/mail # makemap hash virtusertable < virtusertable
    root@wl /etc/mail # vi aliases 7)
    # The program "newaliases" must be run after this file is updated
    # for any changes to show through to sendmail.
    # The following alias is required by the mail protocol, RFC 2821
    # Set it to the address of a HUMAN who deals with this system's mail problems.
    postmaster: root
    
    # Alias for mailer daemon; returned messages from our MAILER-DAEMON
    # should be routed to our local Postmaster.
    MAILER-DAEMON:  postmaster
    # General redirections for pseudo accounts.
    bin:            root
    daemon:         root
    system:         root
    toor:           root
    uucp:           root
    manager:        root
    dumper:         root
    operator:       root
    decode:         root
    nobody: /dev/null
    root@wl /etc/mail # mkdir /var/spool/mqueue/ 8)
    root@wl /etc/mail # chown root:bin /var/spool/mqueue/
    root@wl /etc/mail # chmod 750 /var/spool/mqueue/
    root@wl /etc/mail # newaliases 9)
    
    1) LD_LIBRARY_PATH와 유사하다. SENDMAIL에서 fork가 되는 프로세스중 환경설정이 안되는 경우가 있어 이렇게 해결했다.
    3) 메일을 받을 도메인을 모두 적어준다. SENDMAIL 동작에 있어서 기본적인 {w}클래스(SENDMAIL 문서를 보면 많이 나와있을 것이다)를 정의한다.
    6) 한대의 서버에 두개이상의 도메인을 운영할때 필요한 설정이다. 첫번째 필드와 두번째 필드는 반드시 탭으로 구분되어야 한다.
    7) 별명을 정해준다. :과 계정명 사이의 공백은 탭 문자를 사용하며, 여러개의 계정을 지정할때는 ,로 구분한다. 예) admin:[TAB]user1,user2
  4. 시작

    root@wl /etc/mail # vi /etc/init.d/sendmail
    #!/bin/sh
    # 출처 모름. 윈디하나가 만든건 아님 ^^
    version=`echo \$Z | /usr/lib/sendmail -bt -d0 | grep Version | awk '{print $2}'`
    case "$1" in
      start)
            # Start daemons.
            echo "Starting Sendmail $version"
            # Enable the below line to set serious logging for trouble shooting
            # /usr/lib/sendmail -O LogLevel=14 -L sm-mta -bd -q1h
            /usr/lib/sendmail -L sm-mta -bd -q1h
            /usr/lib/sendmail -L sm-msp-queue -Ac -q30m
            ;;
      stop)
            # Stop daemons.
            echo "Shutting down Sendmail $version"
            kill `cat /var/run/sendmail.pid | head -1`
            kill `cat /var/spool/clientmqueue/sm-client.pid | head -1`
            ;;
      *)
            echo "Usage: sendmail {start|stop}"
            exit 1
    esac
    exit 0
    root@wl /etc/mail # chmod 744 /etc/init.d/sendmail
    root@wl /etc/mail # ln -s /etc/init.d/sendmail /etc/rc0.d/K36sendmail
    root@wl /etc/mail # ln -s /etc/init.d/sendmail /etc/rc1.d/K36sendmail
    root@wl /etc/mail # ln -s /etc/init.d/sendmail /etc/rc2.d/S88sendmail
    root@wl /etc/mail # ln -s /etc/init.d/sendmail /etc/rcS.d/K36sendmail
    root@wl /etc/mail # /etc/init.d/sendmail start
    
  5. 테스트

    root@wl /etc/mail # telnet localhost 25
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 xxx.xxxx.xxx ESMTP Sendmail 8.13.8/8.13.8; Mon, 14 Nov 2005 09:53:20 +0900 (KST)
    EHLO localhost
    250-xxx.xxxx.xxx Hello localhost [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-PIPELINING
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ETRN
    250-AUTH CRAM-MD5 PLAIN LOGIN
    250-STARTTLS
    250-DELIVERBY
    250 HELP
    quit
    221 2.0.0 xxx.xxxx.xxx closing connection
    Connection to localhost closed by foreign host.
    root@wl /etc/mail # 
    

QPOPPER

※ QPopper는 메일 클라이언트인 유도라(Eudora)를 만든 퀄컴에서 만든 유닉스용 POP3 데몬이다. (QPOPPER는 퀄컴사의 상표이다) 퀄컴은 CDMA의 원천기술 소유회사기도 하다. QPOPPER는 최초의 범용 유닉스용 POP3 데몬이다.
  1. QPOPPER: qpopper4.0.8.tar.gz
    ftp://ftp.qualcomm.com/eudora/servers/unix/popper/ 에 가보면 qpopper4.0.13.tar.gz이 2008-05-08 에 업로드되어있으나 이 문서에서는 qpopper4.0.8.tar.gz을 사용할 것이다. (필자는 4.0.13을 사용한다)
    root@wl ~ # wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.8.tar.gz
    root@wl ~ # gtar xvfz qpopper4.0.8.tar.gz
    root@wl ~ # cd qpopper4.0.8
    root@wl ~/qpopper4.0.8 # ./configure \
      --enable-specialauth \
      --with-openssl=/usr/local/ssl \
      --enable-timing \
      --enable-debugging \ 1)
      --enable-standalone
    root@wl ~/qpopper4.0.8 # make
    root@wl ~/qpopper4.0.8 # make install
    
    1) 디버깅 가능하도록 컴파일 했다. 설치시 디버깅을 위해 트레이스 파일을 참고하기 위함이다. 물론 이 문서 내용대로 하면 문제 없다. 트레이싱 파일의 크기가 크기 때문에 필요 없다면 과감히 이 라인을 삭제한다.
    root@wl ~ # mkdir /etc/mail/pop
    root@wl ~ # vi /etc/mail/pop/qpopper.config
    set tls-support = alternate-port
    set tls-version = default
    set tls-server-cert-file = /etc/mail/certs/qpopper_cert.pem
    set tls-options = 0x00000800 
    set clear-text-password = tls
    set chunky-writes = tls
    root@wl ~ # mkdir /etc/mail/certs
    root@wl ~ # cat /usr/local/ssl/certs/req.key > /etc/mail/certs/qpopper_cert.pem
    root@wl ~ # cat /usr/local/ssl/certs/signed-req.pem >> /etc/mail/certs/qpopper_cert.pem
    root@wl ~ # chmod 600 /etc/mail/certs/qpopper_cert.pem
    root@wl ~ # vi /etc/init.d/qpopper
    #!/bin/sh
    case "$1" in
      start)
            /usr/local/sbin/popper 995 -S -f /etc/mail/pop/qpopper.config
            /usr/local/sbin/popper -S -f /etc/mail/pop/qpopper.config
            ;;
      stop)
            pkill popper
            ;;
      *)
            echo "Usage: qpopper {start|stop}"
            exit 1
    esac
    exit 0
    root@wl ~ # chmod 744 /etc/init.d/qpopper
    root@wl ~ # ln -s /etc/init.d/qpopper /etc/rc2.d/S99qpopper
    root@wl ~ # /usr/local/sbin/popper 995 -S -d -f /etc/mail/pop/qpopper.config -t /var/log/qpoppertrace 1)
    root@wl ~ # /usr/local/sbin/popper -S -d -f /etc/mail/pop/qpopper.config -t /var/log/qpoppertrace 2)
    
    1) TLS(995번 포트)를 사용했다. -t /var/log/qpoppertrace 옵션과 -d 옵션을 주면 /var/log/qpoppertrace 에 트레이싱 로그가 저장된다. 문제가 발생하면 열어보면 된다. 트레이싱 로그가 꽤 크기 때문에 주의하자.
    2) 일반 포트(110번 포트)를 사용했다.

솔라리스의 SENDMAIL 사용

참고:
http://www.sun.com/bigadmin/features/articles/config_sendmail.html
솔라리스에는 sendmail이 이미 설치되어있다. 솔라리스용 sendmail은 여타 다른 유닉스용 SENDMAIL(Berkeley sendmail)와는 약간 다르다. (물론 여기서는 무시한다) /etc/mail에 가보면 subsidiary.cf 가 있는데 이는 선에서 특별히 만든 파일로 별로 사용할 일은 없는듯 하다. 자세한 사항은 http://www.sendmail.org/vendor/sun/differences.html 를 참고한다.
sendmail.cf에 sendmail의 모든 설정이 들어있다. sendmail.cf는 m4라는 매크로 프로세서에 의해 생성되는데 그 매크로가 .mc파일이다. 따라서 .mc 파일을 이용해 .cf파일을 만들고 이렇게 만든 파일을 /etc/mail/sendmail.cf 에 덮어씌우고 sendmail을 재시작하면 원하는 설정을 적용 할 수 있다. 즉 sendmail.cf를 만드는 과정은 아래와 같이 진행된다.
root@wl ~ # cd /usr/lib/mail/cf
root@wl /usr/lib/mail/cf # cp main.mc new.mc
root@wl /usr/lib/mail/cf # vi new.mc # new.mc를 고쳐 원하는 세팅을 한다.
root@wl /usr/lib/mail/cf # make new.cf
root@wl /usr/lib/mail/cf # cp new.cf /etc/mail/sendmail.cf
root@wl /usr/lib/mail/cf # /etc/init.d/sendmail restart
※ 즉 main.mc를 베이스로 new.mc파일을 원하는대로 수정한 후 m4에 의해 컴파일 하면 된다. 아래는 new.mc의 내용이다.
# 최소화
OSTYPE(`solaris8')dnl
DOMAIN(`generic')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
# 메일 서버
OSTYPE(`solaris8')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
# 설치후 sendmail을 재시작한후 vi /etc/mail/local-host-names를 수정. 도메인을 적어줘야 한다.
# 인커밍 릴레이: 메일을 받은 경우, 메일을 로컬에 저장하는 대신 타 서버로 메일을 다시 전송한다.
# 아래예제에서는 relay.mydomain.com으로 모든 메일을 전송한다. 이후 /etc/mail/relay-domains 을 수정해야 한다.
OSTYPE(`solaris8')dnl
DOMAIN(`solaris-antispam')dnl
define(`SMART_HOST', 'relay.mydomain.com')dnl
FEATURE(`relay_entire_domain')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
# 로컬 호스트 전송 전용. 25번 포트를 127.0.0.1에 한정하여 바인드한다.
OSTYPE(`solaris8')dnl
DOMAIN(`solaris-generic')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
MAILER(`local')dnl
MAILER(`smtp')dnl

SENDMAIL 8.12 이상에서 SMTP AUTH 사용 (확인 안함)

위 챕터의 솔라리스의 SENDMAIL 사용과 연관되어 설명한다.
출처: http://www.sendmail.org/~ca/email/auth.html#AUTH
* 메일 전송 전용이며, 센드메일 8.12 또는 그 이상의 버전이 필요하다. 메일을 받을 수 없다.
root@wl ~ # cd /etc/mail
root@wl /etc/mail # mkdir auth
root@wl /etc/mail # chmod 600 auth
root@wl /etc/mail # cd auth
root@wl /etc/mail/auth # vi ./auth/client-info
AuthInfo:xxx.xxx.com "U:root" "I:systemuser" "P:password" 1)
root@wl /etc/mail/auth # makemap hash client-info < client-info
root@wl /etc/mail/auth # chmod 600 client-info
root@wl /etc/mail/auth # cd ..

root@wl /etc/mail # cd /usr/lib/mail/cf
이후 위 챕터와 동일. new.mc 에 아래의 내용을 삽입한다.
  define(`SMART_HOST',`xxx.xxx.com')dnl
  define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
  FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
1) U: 계정이름, I: 유저설명 P: 패스워드 의 순서이다.
Twitter RSS IconTexto 올바른 XHTML 1.0 Transitional 입니다 올바른 CSS입니다!