본문 바로가기
리눅스(Linux)/CentOS

[CentOS 7] SMTP 서버(SendMail) 설치하기

by 연구자 공학코드 2022. 8. 23.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

SMTP 서버의 필요성

운영 중인 서비스에서 메일 발송이 필요하다면 온라인에서 제공되는 SMTP(Simple Mail Transfer Protocol) 서비스를 이용해도 되지만 때로는 자체적으로 SMTP 서비스를 구축할 필요가 있다. 본 글에서는 SMTP 서버(Server) 설치를 통해 SMTP 서비스를 구축하는 방법을 소개한다.

SendMail 설치

아래의 명령어를 입력하여 SendMail과 설정 관련 패키지를 설치한다.

yum install sendmail sendmail-cf m4

SendMail 설치화면

아래의 명령어를 입력하여 어떤 버전이 잘 설치되었는지 확인한다.

sendmail -d | grep -i Version

SendMail 버전을 확인한 화면

SendMail 설정

아래의 명령어를 입력하여 Sendmail 설정 파일을 텍스트 에디터로 연다.

vi /etc/mail/sendmail.mc

아래와 같은 구문을 찾아서 주석을 해제한다. 'dnl'이 주석을 의미한다. 공백 때문에 설정을 Sendmail이 못 읽을 수 있으므로 주의한다.

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

주석 해제

아래를 참고하여 SMTP 서버 설정을 적절하게 설정한다.

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

서버 설정

아래를 참고하여 SMTP 서버 도메인을 설정한다.

LOCAL_DOMAIN(`localhost.localdomain')dnl

도메인 설정

아래의 명령어를 입력하여 설정 파일을 생성한다.

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

설정 파일 생성

아래의 명령어를 입력하고 사진을 참고하여 SendMail 접근 가능한 호스트(Host)의 정보를 설정한다.

vi /etc/mail/access

릴레이 정보 등록

아래의 명령어를 입력하고 사진을 참고하여 운영체제의 로컬 hosts 정보에 메일에서 사용할 도메인을 설정한다.

vi /etc/hosts

호스트 정보 등록

아래의 명령어를 입력하여 SendMail이 자동 실행되도록 설정한다.

systemctl enable sendmail

자동 실행 설정

아래의 명령어를 입력하여 SendMail 설정이 적용되도록 재실행한다.

systemctl restart sendmail

SendMail 재기동

메일 발송 테스트

SendMail이 잘 설치되고 설정되었는지를 확인하기 위해 메일 발송 테스트를 수행할 수 있다. 아래의 명령어와 사진을 참고하여 Telnet을 통해 SendMail에 접속하고 메일 발송을 요청하도록 한다.

telnet [SMTP서버주소] [SMTP서버포트]
mail from:<sender@example.com>
rcpt to:<receiver@example.com>
data
메일내용
.

메일 발송 요청

메일 발송 결과를 확인하기 위해 아래의 명려어를 입력하여 메일 발송 로그를 읽는다. 오류가 발생하는 경우 로그가 나타나는 것이 오래 걸릴 수 있으니 메일 전송 요청이 만료될 때까지 기다린다.

tail -f /var/log/maillog

발송 실패 로그

필자의 경우 도메인 설정 오류로 메일 발송 처리가 오래 걸렸고 네이버 메일이 나를 스팸(Spam)으로 간주하여 차단(Block)한 것을 확인할 수 있었다.

 

참고문서

[1] "Simple Mail Transfer Protocol", RFC 2821, 2001년 4월. @원문보기

[2] "19.3.2. Sendmail", Deployment Guide of Red Hat Enterprise Linux 6. @원문보기

 

728x90
반응형

댓글