🚀   70세 이전에 한 모든 일은 신경 쓸 가치가 없다. - 호쿠사이

CentOS 5 Sendmail 구성

2015.03.17
2분

1. Sendmail 패키지 설치

	yum install -y sendmail sendmail-cf

2. Sendmail 설정

sendmail.cf 변경

sendmail.cf 파일에서 원격연결 설정을 수정합니다.
주석처리 또는 삭제
550 5.1.1 User unknown 에러가 나는 원인이 되기 때문

    vi /etc/mail/sendmail.cf
    O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

↓ 다음과 같이 변경합니다.

    \\#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

sendmail.mc 변경

    vi /etc/mail/sendmail.mc
    DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

↓ 다음과 같이 변경합니다.

    dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

발송 시 인증을 이용한 메일 발송으로 변경

    dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
    dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 ...

↓ 다음과 같이 변경합니다.

    TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
    define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 ...

외부에서 25번 포트 접속 허용

    DAEMON_OPTIONS(`Port=smtp, Addr=127.0.0.1, Name=MTA’)dnl

↓ 다음과 같이 변경합니다.

    DAEMON_OPTIONS(`Port=smtp, Name=MTA’)dnl

발송 호스트명 지정

    LOCAL_DOMAIN(`localhost.localdomain’)dnl

↓ 다음과 같이 변경합니다.

    LOCAL_DOMAIN(`실제 발송 도메인’)dnl

Sendmail 버전 숨기기

    \#define(`confSMTP_LOGIN_MSG’, `$j Sendmail; $b’)dnl

↓ 다음과 같이 변경합니다.

    define(`confSMTP_LOGIN_MSG’ )dnl

설정 컴파일

    m4 sendmail.mc > sendmail.cf

3. Sendmail 서비스 활성화 및 시작

    chkconfig sendmail on
    chkconfig saslauthd on
    /etc/init.d/sendmail start
    /etc/init.d/ saslauthd start

    $ netstat -antp
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 19466/sendmail

4. 접속 테스트

    telnet localhost 25
    mail from:발신계정
    rcpt to:수신계정
    data
    send test
    .
    quit