[리마1급] 메일 관련 서비스

rodusik·2023년 12월 5일
0

리눅스마스터1급

목록 보기
2/2

{1} 메일 관련 서비스의 개요

[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(텍스트)

{2} 메일 관련 서비스 사용하기

[1] 메일 서비스 설치와 구성

1) 메일 관련 패키지 설치

  • $ yum install -y sendmail

2) sendmail의 주요 설정 파일

설정 파일설명
/etc/mail/sendmail.cfsendmail의 기본 설정 파일
/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-namessendmail에서 수신할 메인 수신지를 설정하며 sendmail을 재시작하여 적용
~/.forward사용자 개인이 수신한 메일을 다른 메일로 포워딩할 때 설정하는 파일로, 원하는 메일 주소를 한 줄씩 추가

3) /etc/mail/sendmail.cf 파일 설정

설정 항목설명
Cw메일 수신 호스트 이름 설정
Fw여러 개의 도메인명을 수신 호스트의 이름으로 이용할 경우 관련 설정 파일 지정
FtTrusted user 설정(메일 발신 시 발송자의 주소 변경 가능)
Dj메일 발송 시 발신 도메인 이름 강제 지정
Dnsendmail이 회신 메일을 보낼 때 사용하는 사용자 이름 지정
FR-oRelay를 허용할 도메인 설정
Kvirtuser한 대의 메일 서버에서 동시에 운영하는 여러 개의 가상 호스트에서 동일한 계정을 공유하여 사용할 수 있도록 관련 설정 파일 지정
Kaccesssendmail의 접근 제어 담당, 특정 호스트 혹은 도메인에 대한 접근 허가 여부를 설정한 파일 지정
O AliasFile특정 계정으로 전송된 메일을 다른 계정으로 전달할 수 있도록 설정한 파일 지정
O MaxMessageSize메일 메시지의 최대 크기를 바이트 단위로 지정, 주석 혹은 0으로 설정 시 제한 없이 사용 가능
O ForwardPath사용자 개인이 수신한 메일을 다른 메일로 포워딩할 때 사용하는 설정 파일 지정
O DaemonPortOptionsSMTP 데몬 옵션 설정
O DeliveryModesendmail의 동작 방식 지정
O Timeout.queuereturn설정한 기간 동안 메일이 발송되지 않을 경우 보낸 사람에게 반송됨
O QueueDirectory메일 전송 시 사용하는 큐 디렉터리 지정

4) sendmail 관련 주요 명령어

  • sendmail
    • $ sendmail [옵션]
    • 옵션
      • -bp : 메일 큐의 상태 표시
      • -bi : aliases 정보 갱신
      • -oQ : 특정 큐의 상태 표시
  • mailq
    • $ mailq [옵션]
    • 옵션
      • -Ac : /etc/mail/submit.cf 파일에 지정된 큐의 상태 표시

5) sendmail 서비스 실행과 확인

  • 실행 : $ systemctl start sendmail.service
  • 확인 : $ netstat -nap | grep LISTEN -w | grep :25
  • CentOS 버전에 따라 SMTP 서버로 postfix를 기본으로 탑재함. $ systemctl stop postfix.service로 서비스 종료

[2] 메일 서비스 이용하기

1) telnet을 이용한 메일 발송

telnet이 없을 경우, $ yum install -y telnet으로 설치

  • $ telnet localhost 25

0개의 댓글