검수요청.png검수요청.png

센드메일

위키원
Asadal (토론 | 기여)님의 2024년 4월 20일 (토) 08:43 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

센드메일(Sendmail)은 네트워크상의 서버 간에 메일을 송수신하는 유닉스(UNIX) 및 리눅스(Linux)의 대표적인 메일 서버이다.

아사달 스마트 호스팅 가로 배너 (since 1998).jpg
이 그림에 대한 정보
[아사달] 스마트 호스팅

개요

센드메일은 가장 일반적으로 사용되고 있는 간이 우편 전송 프로토콜(SMTP) 서버 소프트웨어이다. 인터넷 이메일 분배는 오랫동안 센드메일로만 처리되어 왔기 때문에 SMTP 서버의 사실상의 표준으로 널리 사용되고 있다. 미국 캘리포니아 대학에서 ARAPNET 접속용으로 개발한 딜리버메일(delivermail)을 기본으로 개발된 것이다. 센드메일의 설정은 복잡하고 이해하기가 어렵기 때문에 일반 이용자는 취급하기가 어렵다. 그러나 기능이 확장된 센드메일 프로(send-mail pro)는 이러한 불만을 해소할 수 있도록, 그래픽 사용자 인터페이스(GUI)를 활용해 설정한 툴이 부속되어 있는 등 이용자의 편의 도모에 역점을 두고 개발했다.[1]

운영모드

(1) /usr/sbin/sendmail -bt

-bd : 데몬모드로 실행
-bi : 앨리어스 데이터케이스 파일을 초기화
-bm : Be a mail sender (MDA만의 기능으로 작동)
-bp : 큐에 있는 내용을 프린터
-bs : 표준 입력으로 SMTP를 실행
-bt : 테스트 모드, rewrite를 테스트하기 위해 이용
-bv : 확인모드

(2) sendmail -bt : 웜 및 바이러스 헤더를 입력한 후 결과로 필터링 동작 여부 확인[2]

접근파일

 /etc/mail/access 작성 규칙

- OK : 다른 rule이 거부하여도 들어오는 메일을 받아들임.
- RELAY : relay를 허용, 다른 rule이 거부하는 경우도 지정된 특정 도메인에 있는 사용자에게 오는 메일을 받음
- REJECT : 수신 및 발신을 완전히 거부
- DISCARD : 메일을 받기만 하고 메시지를 완전히 폐기
- 501 : 지정된 이메일 또는 도메인에 대해 보내는 사람의 주소가 전체 또는 부분적으로 일치할 경우 메일 거부
- 550 : 특정 도메인에 관련된 메일을 거부[2]

설치 및 설정

센드메일 설치

먼저 센드메일을 설치하기 위해서는 sendmail, sendmail-cf를 yum을 통해 설치를 진행한다.

# yum install sendmail*
센드메일 설정

그 다음, sendmail.mc를 열어 아래와 같이 수정을 진행한다.

# vi /etc/mail/sendmail.mc

[수정 전]

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

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


[수정 후 (앞의 dnl 부분을 삭제)]

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

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

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

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

이렇게 수정한 파일을 cf 파일로 전환한다.

릴레이 설정
# vi /etc/mail/access

Connect:localhost.localdomain RELAY

Connect:localhost RELAY

Connect:127.0.0.1 RELAY

발송을 허용할 곳의 아이피도메인으로 위의 형식과 맞게 추가한다.

설정 적용 및 필수 데몬 확인
# /etc/init.d/saslauthd restart

pwcheck와 비슷한 역할을 하지만 PAM과 같은 인증 시스템을 병용한다.

# /etc/init.d/sendmail restart

cf 설정 내역 적용 및 릴레이 변경 값을 적용한다.

메일 발송 테스트
# yum install -y telnet*


Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 pch ESMTP Sendmail 8.14.4/8.14.4; Thu, 20 Sep 2018 05:19:44 +0900

mail from:서버에있는ID@서버에연결할도메인
250 2.1.0 서버에있는ID@서버에연결할도메인... Sender ok

rcpt to : 서버에있는ID@smileserv.com
250 2.1.5 서버에있는ID@smileserv.com... Recipient ok

data
354 Enter mail, end with "." on a line by itself

subject : iwinv mail send
smileserv iwinv good
6hoho
.
250 2.0.0 w8JKJi6N020593 Message accepted for delivery

quit
221 2.0.0 pch closing connection
Connection closed by foreign host.[3]

각주

  1. 센드메일〉, 《IT용어사전》
  2. 2.0 2.1 ITSecurity, 〈[정보보안] 애플리케이션 보안 _ E-Mail, Sendmail 보안〉, 《네이버 블로그》, 2020-08-27
  3. Sendmail 설치 및 설정〉, 《iwinv》

참고자료

같이 보기


  검수요청.png검수요청.png 이 센드메일 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.