[1] 메일 서비스의 개념과 구성 요소
1) 메일 서비스의 개념
아이디@메일서버명
형식의 메일 주소를 이용하여 인터넷을 통해 전자메일을 주고 받을 수 있는 서비스2) 메일 서비스 관련 프로토콜
프로토콜 | 설명 |
---|---|
SMTP | - Simple Mail Transfer Protocol - 인터넷에서 이메일을 전송하기 위해 사용하는 프로토콜로, 메일 서버 간의 송수신뿐만 아니라 메일 클라이언트에서 메일 서버로 메일을 보낼 때 사용 - TCP 25번 포트 사용 |
POP/POP3 | - Post Office Protocol/Post Office Protocol Version 3 - 메일 서버에 도착한 메일을 수신하는 프로토콜로, 클라이언트 프로그램으로 메일을 가져온 후 서버에서 해당 메일 삭제 - TCP 110번 포트 사용 |
IMAP | - Internet Messaging Access Protocol - 메일 서버에 도착한 메일을 수신하는 프로토콜로, POP과 다르게 이메일 메시지를 서버에 남겨 두었다 나중에 삭제 가능 - TCP 143번 포트 사용 |
3) 메일 서비스 관련 프로그램
프로그램 | 설명 |
---|---|
MTA | - Mail Transfer Agent - SMTP 프로토콜을 이용하여 메일을 전송하는 프로그램 - sendmail, qmail, postfix 등 |
MDA | - Mail Delivery Agent - 일종의 대리인 역할을 수행하는 프로그램으로 메일 박스에 도착한 메일을 대행해서 가져오거나 전달하는 역할을 수행하는 프로그램 - procmail(스팸 메일 필터링, 메일 정렬 등의 역할도 수행) |
MUA | - Mail User Agent - 사용자가 메일을 수신/발신할 때 사용하는 프로그램 - kmail(KDE), evolution(X 윈도우), mutt(텍스트) |
[1] 메일 서비스 설치와 구성
1) 메일 관련 패키지 설치
$ yum install -y sendmail
2) sendmail의 주요 설정 파일
설정 파일 | 설명 |
---|---|
/etc/mail/sendmail.cf | sendmail의 기본 설정 파일 |
/etc/mail/sendmail.mc | - sendmail 설정 보조 파일 - m4 유틸리티를 사용하여 sendmail.cf 생성 - sendmail-cf 패키지 필요 |
/etc/aliases | - 메일의 별칭 혹은 특정 계정으로 수신한 이메일을 다른 계정으로 전달하도록 설정하며, 보통 여러 사람에게 전달할 때 사용 - [수신 계정]: [전달 계정] 형식으로, :include:[파일명] 으로 파일 설정 가능- sendmail이 참조하는 파일은 /etc/aliases.db 이므로 /etc/aliases 수정 후 newaliases 또는 sendmail -bi 명령으로 적용 필요 |
/etc/mail/access | - 메일 서버에 접속하는 호스트의 접근을 제어하는 설정 파일 - [정책 대상][정책] 형식 사용 - 정책 : 릴레이 허용(RELAY), 거부(DISCARD), 거부 후 메시지 전송(REJECT), DNS 조회 실패 시에도 허용(OK) - makemap 명령으로 /etc/mail/access.db에 적용 |
/etc/mail/virtusertable | - 가상의 메일 계정으로 들어오는 메일을 특정 계정ㅇ로 전달하는 정보를 설정 - makemap 명령으로 /etc/mail/virtusertable.db에 적용 |
/etc/mail/local-host-names | sendmail에서 수신할 메인 수신지를 설정하며 sendmail을 재시작하여 적용 |
~/.forward | 사용자 개인이 수신한 메일을 다른 메일로 포워딩할 때 설정하는 파일로, 원하는 메일 주소를 한 줄씩 추가 |
3) /etc/mail/sendmail.cf 파일 설정
설정 항목 | 설명 |
---|---|
Cw | 메일 수신 호스트 이름 설정 |
Fw | 여러 개의 도메인명을 수신 호스트의 이름으로 이용할 경우 관련 설정 파일 지정 |
Ft | Trusted user 설정(메일 발신 시 발송자의 주소 변경 가능) |
Dj | 메일 발송 시 발신 도메인 이름 강제 지정 |
Dn | sendmail이 회신 메일을 보낼 때 사용하는 사용자 이름 지정 |
FR-o | Relay를 허용할 도메인 설정 |
Kvirtuser | 한 대의 메일 서버에서 동시에 운영하는 여러 개의 가상 호스트에서 동일한 계정을 공유하여 사용할 수 있도록 관련 설정 파일 지정 |
Kaccess | sendmail의 접근 제어 담당, 특정 호스트 혹은 도메인에 대한 접근 허가 여부를 설정한 파일 지정 |
O AliasFile | 특정 계정으로 전송된 메일을 다른 계정으로 전달할 수 있도록 설정한 파일 지정 |
O MaxMessageSize | 메일 메시지의 최대 크기를 바이트 단위로 지정, 주석 혹은 0으로 설정 시 제한 없이 사용 가능 |
O ForwardPath | 사용자 개인이 수신한 메일을 다른 메일로 포워딩할 때 사용하는 설정 파일 지정 |
O DaemonPortOptions | SMTP 데몬 옵션 설정 |
O DeliveryMode | sendmail의 동작 방식 지정 |
O Timeout.queuereturn | 설정한 기간 동안 메일이 발송되지 않을 경우 보낸 사람에게 반송됨 |
O QueueDirectory | 메일 전송 시 사용하는 큐 디렉터리 지정 |
4) sendmail 관련 주요 명령어
$ sendmail [옵션]
$ mailq [옵션]
5) sendmail 서비스 실행과 확인
$ systemctl start sendmail.service
$ netstat -nap | grep LISTEN -w | grep :25
$ systemctl stop postfix.service
로 서비스 종료[2] 메일 서비스 이용하기
1) telnet을 이용한 메일 발송
telnet이 없을 경우, $ yum install -y telnet
으로 설치
$ telnet localhost 25