2015. 4. 26. 01:05

sendmail

-용어

MTA : 사용자로부터 MUA를 통해 전달받은 메시지를 다른 메일서버로 전달 해주는 프로그램(sendmail,exim,qmail)

MUA : 사용자가 메일을 보내기 위하여 사용하는 프로그램(Outlook)

SMTP : 다른 서버로 메일을 보내거나 받을 때 이용하는 프로토콜

POP3 : SMTP에 의해 메일서버에 도착한 메일을 클라이언트가 받을 때 사용하는 프로토콜

MDA : MTA가 수신한 메시지를 사용자의 우편함에 쓰기 위한 프로그램

MRA : 리모트 서버에 있는 우편함으로부터 사용자의 MUA로 메시지를 가져오는 프로그램

a@naver.comb@naver.com에게 보낼때는 로컬임

-----------------------------------

같은 도메인은 MUA-MTA-MDA 순?

다른 도메인은 MUA-MTA-MDA-MTA-MDA-MUA이 순

--------------------------------------------------

sendmail에 사용되는 명령 일부

C:클래스 설정

F:클래스를 적은파일을 설정

D

O:옵션지정

S:룰셋(규칙) 정의

vim /etc/main/sendmail.cf

--------------------------------------------------------------------

Cwlocalhost// Cw뒤에 사용할 도메인을 적음(여러개도 가능)

Fw/etc/mail/local-host-names// 파일을 만들어 도메인을 적음

O ForwardPath=$z/.forward.$w:$z/.forward

-> 사용자(A) 디렉토리에 .forward파일을 만들고 그 파일에 메일주소(B)를 적어놓으면 사용자(A)에게 오는 메일은 모두 파일에 적어놓은 메일주소(B)로 전달됨

Kaccess hash -T<TMPF> /etc/mail/access

-> 특정한 것만 메일릴레이에서 제외시키거나 허용 할 수 있는 파일을 명시

O AliasFile=/etc/mail/aliases// 메일 alias를 지정해놓은 파일 설정

O SevenBitInput=False// 7비트 설정여부, 8비트를 쓸 경우 False로 설정

O EightBitMode=pass8// 7bit를 False로 설정 후 pass8로 설정시 8비트로 작동

O LogLevel=9// 로그레벨 설정, 0-15 level까지 있음

O MaxMessageSize=0// 메일 용량 제한(단위Byte), 주석 시 용량 제한 없음

O QueueDirectory=/var/spool/mqueue// 큐(임시저장)의 경로

O SmtpGreetingMessage=$j Sendmail...// SMTP 접속 시 뜰 문구

O DaemonPortOptions=Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1

-> Relay기능을 수행하는 서버가 로컬만 가능한지 모두 가능한지를 설정하는 부분

Addr=127.0.0.1이 있으면 외부에서 접근이 안 되므로 삭제해줌, 주석시 /etc/access를 참고

O ConnectionRateThrottle=15// 엑세스 가능한 횟수

O ConnectionRateWindowSize=10m// clientIP가 10m동안 위 횟수만큼만 접속 가능

(ConnectionRate* 옵션은 access파일에 쓰이는 옵션)

--------------------------------------------------------------------

# vim /etc/mail/local-host-names

-> local-host-names 파일은 sendmail.cf 파일에 Cw지시문처럼 메일서버에 이용할 도메인을 지정해주는 파일임.

--------------------------------------------------------------------

localhost

localhost

--------------------------------------------------------------------

# vim /etc/mail/aliases

--------------------------------------------------------------------

mailer-daemon: postmaster

news: root// news에게 메일을 보내면 메일은 root에게 감

webmaster: root

noc: root

ja: root, power// ja에게 메일을 보내면 root와 power에게 감

--------------------------------------------------------------------

# newaliases// 새로고침같은 역할

# vim /etc/mail/access

--------------------------------------------------------------------

...

Connect:localhsotRELAY// 릴레이 옵션 설정

GreetPause:localhost0

ClientConn:localhost0// 동시에 세션이 맺어질 수 있는 수 설정

ClientRate:localhost0// 분당 접속 가능한 횟수 설정(시간은 sendmail.cf에서 O ConnectionRateWindowSize=10m 지시로 설정)

...

--------------------------------------------------------------------

# makemap hash /etc/mail/access < /etc/mail/access

-> 일반파일로는 sendmail에서 해석이 불가능 하므로 access파일을 DB형태로 바꿔줌

Connect:localhsot에 쓰이는 옵션 목록

OK : 다른 룰이 거부하는 경우에도 메일의 모든것을 허용함.

RELAY : 지정된 호스트의 메일 중계를 허용함, 지정된 메일의 수신/발신을 허용

REJECT : 지정된 호스트의 메일 수신/발신을 거부함, 발신자에게 거부 통보를 함

DISCARD : 메일을 수신 후 폐기해버림, 발신자에게 폐기통보를 하지 않음

501 <error> : 지정된 메일 주소나 도메인에 대해 발신자의 주소가 전체 또는 부분적 으 로 일치할 경우 메일 거부 <error>에는 포함할 메시지 적음

502 <error> : 발신메일주소에 host가 없을 경우 메일을 받지 않음

550 <error> : 특정 도메인에 관련된 메일을 거부 <error>부분에는 포함할 메시지 적음

571 <error> : 특정 도메인 또는 메일 주소에 대해 경고 메시지를 보내고 메일을 거부 <error>에는 포함할 메시지 적음

-실습

# apt-get install sendmail

# apt-get install dovecot-common

# apt-get install dovecot-pop3d

# vim /etc/mail/sendmail.mc

--------------------------------------------------------------------

...

DAEMON_OPTIONS('............ Addr=127.0.0.1')// Addr=127.0.0.1을 지워줌

DAEMON_OPTIONS('............ Addr=127.0.0.1')// 한행 더 지워줌

--------------------------------------------------------------------

# m4 /etc/mail/sendmail.mc

# vim /etc/sendmail/access

--------------------------------------------------------------------

...

Connect:192.168.0RELAY// 192.168.0으로 시작 하는 모든 IP를 허용

--------------------------------------------------------------------

# makemap hash /etc/mail/access < /etc/mail/access

# vim /etc/mail/local-host-names

--------------------------------------------------------------------

skill.com// 사용하고자 하는 메일의 도메인을 적어줌

--------------------------------------------------------------------

# vim /etc/dovecot/dovecot.conf

--------------------------------------------------------------------

protocols = pop3

listen = *

disable_plaintext_auth = no

mail_location = mbox:~/mail:INBOX=/var/mail/%u

--------------------------------------------------------------------

# /etc/init.d/sendmail restart

# /etc/init.d/dovecot restart

'OPS > LInux' 카테고리의 다른 글

fdisk  (0) 2015.04.26
init  (0) 2015.04.26
raid  (0) 2015.04.26
quota  (0) 2015.04.26
LVM  (0) 2015.04.26
Posted by 배주혁