본문 바로가기

Programming/과거포스팅

centOS Mail Server Setup

리눅스에 메일 서버를 설치하였다..

좋은 포스팅이 있어서 가져왔다.

원본은 http://pokute.tistory.com/127 이 블로그이다. 


이번에 소개하는 것은 송신메일 서버(MTA)의 기본인 sendmail의 인스톨, 설정방법에 대해서이다.


1. 먼저 "sendmail"、"sendmail-cf" 을 인스톨.

]# yum install -y sendmail
]# yum install -y sendmail-cf



2. "sendmail.mc" 파일을 수정.

]# vi /etc/mail/sendmail.mc

파일을 직접 보시면 알겠지만
"sendmail.mc" 파일은 "dnl" 로 주석처리.



2-1.모든 IP 어드레스에서 받아 들이도록 변경.

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



2-2. masquerad의 설정. 송수신 메일 주소의 도메인 명을 지정.

(before) dnl MASQUERADE_AS(`mydomain.com')dnl
(after) MASQUERADE_AS(`masudaq.com')dnl



2-3. emasquerade_envelope의 설정. envelope의 송신처 "envelope form"를 masquerade설정에서 지덩한 도메인으로.

(before) dnl FEATURE(masquerade_envelope)dnl
(after) FEATURE(masquerade_envelope)dnl



2-4. "root" 유저의 메일 주소도 MASQUERADE_AS에서 지정한 도메인명을 이용. (필수 항목은 아니지만, 나중에 테스트 할때 이용할 수 있기 때문에)

(before) EXPOSED_USER(`root')
(after) dhl EXPOSED_USER(`root')dnl



2-5. SMTP 인증 (SMTP AUTH)을 사용하도록 설정 
(SMTP인증에 "LOGIN", "PLAIN" 인증이 이용할 수 없게 설정된 경우. "LOGIN", "PLAIN"인증은, BASE64으로 인코드 되면서, 패스워드가 평문으로 송신되므로, 인터넷읠 통한 SMTP인증("LOGIN", "PLAIN")을 거치지 않는다. 인터넷을 경유할 경우, SMTPs(SMTP over SSL)을 이용해야한다.)

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



3. "sendmail.mc" 의 변경내용을 저장.
SMTP인증을 사용하기 위해 , "saslauthd"를 기동. 

]# service saslauthd start



4. "sendmail.cf" 파일 생성

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



5. sendmail 을 재기동.

]# service sendmail restart

6. SMTP포트 열어 주기

"system-config-securitylevel" 로 SMTP 의 포트를 개방시킨다.

]# system-config-securitylevel

커스터마이즈->수신허가의 메일(SMTP)를 체크 한 후, OK->OK로 설정을 보존.



7. 이제 실제 메일을 보내 본다.
메일클라이언트 "mail" 명령어로 동작확인을 한다.

root(자기자신)에게 메일을 송신해 본다.

]# mail root
Subject: hello
Hello, sendmail!!
.
엔터
엔터
cc:

메일 리스트에서 메일을 확인한다.

]# mail-d

메일이 왔는지 확인하고 해당 번호를 입력한다.

& 1 엔터

종료는 'q'

& q 엔터

위의 과정으로 sendmail을 이용해 메일 송신이 되는 것을 확인했다.



실제 자신의 메일 주소로 보내보자.
]# mail test@test.com
Subject: Hi~
Hi This is Test Man!

.
CC:



이상이 있거나 질문이 있으신분은 댓글 남겨 주세요. 

'Programming > 과거포스팅' 카테고리의 다른 글

Android WebView 동영상 (WebView Movie)  (3) 2013.04.27
Jquery CheckBox 전체 선택 해제.  (0) 2013.04.25
JAVA SHA1 암호화 기법  (0) 2013.04.17
CentOS Mongodb install  (0) 2013.04.16
클로저란?  (0) 2013.04.15