CentOS/RHEL 7/6에 Sendmail 서버를 설치하는 방법

CentOS/RHEL 7/6에 Sendmail 서버를 설치하는 방법

2022-10-18 last update

6 minutes reading virtusertable mail sendmail dovecot m4
Sendmail은 다른 호스트 간에 이메일을 전송하는 데 사용되는 MTA(Mail Transfer Agent) 서버입니다. Sendmail은 SMTP(Simple Mail Transfer Protocol) 프로토콜을 사용합니다. 대부분의 시스템 관리자는 다른 MTA보다 Sendmail 서버를 MTA로 사용하는 것을 선호했습니다. RHEL 5 또는 이전 버전은 Sendmail을 기본 메일 서버로 사용했지만 최신 버전의 RHEL 기반 시스템에서는 postfix를 기본 메일 서버로 채택했습니다. 대부분의 사용자는 Sendmail에 익숙하며 버전 6에서도 사용하기를 원합니다. 이 문서는 사용자가 RHEL 7/6/5 또는 최소 구성으로 Sendmail 서버를 설치하는 데 도움이 됩니다.

1. 센드메일 설치

yum 패키지 관리자를 사용하여 다른 필수 패키지와 함께 Sendmail을 설치하기 위해 다음 명령을 사용하여 Sendmail을 설치하지 않은 경우.
yum install sendmail sendmail-cf m4

2. Sendmail 서버 구성

구성을 시작하기 전에/etc/mail 디렉토리에 있는 다양한 Sendmail 구성 파일에 대해 알아야 합니다.
  • 액세스 — 다른 시스템이 발신 이메일에 Sendmail을 사용하는 것을 허용/거부합니다.
  • domaintable — Sendmail의 도메인 이름 매핑에 사용됩니다.
  • local-host-names — 호스트의 별칭을 정의하는 데 사용됩니다.
  • mailertable — 특정 도메인에 대한 라우팅을 재정의하는 지침을 정의했습니다.
  • virtusertable — 한 시스템에서 여러 가상 도메인을 호스팅할 수 있도록 도메인별 별칭 형식을 지정합니다.
  • 2.1/etc/mail/sendmail.mc에서 아래 줄을 주석 처리하여 어디서든 이메일을 수신할 수 있도록 합니다. sendmail.mc에서 줄을 주석 처리하려면 줄 시작 부분에 dnl을 넣으면 됩니다.
    dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
    
    2.2 'MAILER' 옵션 위의 sendmail.mc에도 이 줄을 추가합니다.
    FEATURE(`relay_hosts_only')dnl
    
    2.3 이 파일에 PC의 전체 호스트 이름을 추가합니다.
    hostname >> /etc/mail/relay-domains
    

    3. Sendmail 구성 재컴파일

    m4 ia Sendmail 구성 파일을 컴파일하는 매크로 프로세서입니다. m4는 스트림 기반입니다. 즉, 라인에 대해 이해하지 못합니다.
    m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    
    Sendmail 서비스를 다시 시작하십시오.
    /etc/init.d/sendmail restart
    

    4. 도메인 기반 전자 메일 라우팅 구성

    위에서 보았듯이 virtusertable 파일은 앨리어싱에 사용되어 하나의 시스템에서 여러 가상 도메인을 호스팅할 수 있습니다.1. @example.com 도메인으로 주소가 지정된 모든 이메일은 [email protected]으로 전달됩니다
    @example.com [email protected]
    
    . 2. [email protected]으로 주소가 지정된 모든 이메일은 로컬 사용자 jack에게 전달됩니다.
    [email protected]  jack
    
    3. @mydomain.com으로 주소가 지정된 모든 이메일은 해당 사용자 이름으로 @otherdomain.com 도메인으로 전달됩니다.
    @mydomain.com    %[email protected]
    
    4. @otherdomain.com으로 주소가 지정된 모든 이메일은 보낸 사람을 확인하는 메시지와 함께 내 메일 서버에서 거부됩니다.
    @otherdomain.com 	 error:nouser User unknown
    
    virtusertable에서 모든 변경을 수행한 후 다음 명령을 실행하여 새 구성이 포함된 업데이트된 virtusertable.db 파일을 만듭니다.
    makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
    
    이제 Sendmail 서비스를 다시 시작하십시오.
    /etc/init.d/sendmail restart
    
    이 글을 읽어주셔서 감사합니다. 이 기사가 CentOS 및 Red Hat 시스템에서 Sendmail을 구성하는 데 도움이 되기를 바랍니다.참조:
    http://www.sendmail.com/
    http://www.sendmail.com/sm/open_source/docs/m4/intro_m4.html