지난주 페이지뷰

스폰서 링크

2016년 7월 4일 월요일

리눅스 sendmail 메일서버 구축 A~Z

리눅스 서버에 sendmail을 설치하고 설정하여 이용할 수 있게 구축하는 과정을 설명한다.

 

rpm -qa | grep sendmail //설치여부확인

먼저 이미 설치된 서버인지 확인한다.

 

yum install sendmail, yum install sendmail-cf //설치

설치되지 않았다면 설치!

 

/etc/init.d/sendmail start //시작

 

//설정

cd /etc/mail //폴더 이동
mv ./sendmail.cf sendmail.cf_old
cp ./sendmail.mc sendmail.mc_old
vi sendmail.mc //파일 편집
//52,53 line 수정 (앞부분 dnl 제거)
 
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

//116 line 수정
//127.0.0.1을 0.0.0.0으로 개방
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
(수정 후)
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

저장 esc :wq

//파일 수정 계속

m4 sendmail.mc > sendmail.cf //m4 명령으로 sendmail.cf 생성
vi sendmail.cf //편집
//95line 수정
# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#DjYour domian name
//445 line 보안을 위해 일부 글자 다음과 같이 삭제
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
(수정 후)
O SmtpGreetingMessage=$j Sendmail; $b

물론 위 과정을 거쳐서 수정된 파일은 esc :wq 저장해 줘야 한다.

이후 이부분 파일 수정후 저장은 빼먹을 수 있다.

//이메일을 사용할 서버의 도메인 혹은 도메인들 전부~ 추가
vi /etc/mail/local-host-names
도메인.com
mail.도메인.com

esc :wq

//실행
service sendmail restart


//테스트
telnet localhost 25 //열리지 않으면 yum install telnet 설치
mail from:메일골뱅이메일유알엘 //보내는 메일주소
rcpt to:메일골뱅이메일유알엘 //받을 메일 주소
data //엔터 내용 입력
. //입력 마침시 쩜
quit //종료

//사용할 계정추가

useradd 계정
passwd 계정
cat /etc/passwd
//계정:x:500:500::/home/계정:/bin/bash
//500이상
//------참고로 userdel –r 계정 //삭제

//이메일만 사용할 경우 계정 추가
adduser -M -s /bin/nologin 계정
passwd 계정
비번설정
생성된 메일 계정 저장은 여기 /var/spool/mail/

 

//sendmail에 이메일 적용하기
vi /etc/mail/virtusertable
이메일주소,이메일아이디)탭으로 띄워쓰기
예)webmaster@domain.co.kr webmaster
저장 
//데이타로 저장
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

 

포워딩 등 사용을 위해 dovecot 설치한다.

yum install dovecot

참고로 메일 포워딩은 해당 계정의 루트 

cat /etc/passwd

했을 때 나오는

계정:x:500:500::/home/계정:/bin/bash
/home/계정 부분이다.

포워딩은 

cd /home/계정

vi .forward

메일골뱅이메일유알엘

을 기록하고 저장해주면 된다. .forward 파일을 생성 저장한다. 앞에 쩜 빼먹지 말자.

루트메일인 경우 포워딩하려면

cd /root

vi .forward

root@abc.com

저장하면 된다.

 

참고로 루트계정 이메일 로그 제한하려면

//crontab 파일 상단에

vi /etc/crontab
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

저장

 

다시 메일 설정

 

/etc/rc.d/init.d/dovecot start

시작시키고…

service saslauthd start

 

리부팅시 자동실행은

ntsysv

명령후 샌드메일포함 위 두가지 데몬을 실행되게 체크한다. 간혹 못빠져나오기도 하는데…. tep 키 누르고 나오자!

 

//dovecot pop3 오류시
vi /etc/dovecot/dovecot.conf //편집
protocols = imap pop3 lmtp
listen = *


vi /etc/dovecot/conf.d/10-auth.conf //편집
disable_plaintext_auth = no

vi /etc/dovecot/conf.d/10-mail.conf //편집
mail_location = mbox:~/mail:INBOX=/var/mail/%u



/etc/rc.d/init.d/dovecot restart

//테스트
telnet j2mart.net 110
user 계정
pass 비번
그래도 오류나면.....
cd /var/spool/mail
chmod 600 계정

 

중요한 부분 들어간다.

 

//중요

vi /etc/mail/access
localhost RELAY //추가

makemap hash /etc/mail/access < /etc/mail/access //access.db //저장

telnet localhost 25 //확인 Postfix 나오면 yum remove postfix로 삭제 후
service sendmail restart

//테스트
telnet localhost 25 //열리지 않으면 yum install telnet 설치
mail from:메일주소
rcpt to:메일주소
data
내용적고
. //찍고
quit

보낸메일로 가서 확인

 

댓글 없음:

댓글 쓰기

쇼핑가격비교

블로그 보관함