우선 sendmail이 깔려있는지 확인해봅시다.
#rpm -qa | grep sendmail
없다고 나오면 깔면 됩니다.
전제 : suselinux 기본 software pack으로 sendmail을 설치한다소프트웨어 관리에서 sendmail이라고 검색해서 기본 팩을 설치합니다.
postfix가 삭제되지만 상관없습니다.
편지를 보내기만 할 것이므로 imap과 pop3는 셋팅 안하겠습니다.
근데 설치하다보면 시디 넣으라고 에러 날 때 있습니다. cd로 추가팩을 깔았으니 나오는 현상인데요
저장소를 변경해주면 됩니다. 변경 방법은 아래를 참고하세요
http://blog.naver.com/yoods81?Redirect=Log&logNo=80042622426
cd만 enabled 체크 해제하면 되겠죠?
* 모든 적용 후에는 서비스를 리스타트 해 줍시다방법 1)
#cd /etc/init.d
#./sendmail restart
방법 2)
#/etc/init.d/sendmail restart
우리가 셋팅할 파일은 총 4개입니다
sendmail.cf
access
local-host-names
relay-domains
우선
sendmail.cf를 건드려 보죠
#vi etc/sendmail.cf로 들어갑니다
중간에 내리다 보면
Cwlocalhost라고 써있는곳이 있는데 아래다가
Cw"도메인이름" 을 하나 추가해줍니다
도메인 이름은 현 서버에서 진짜 사용하고 있는 도메인 이름을 써 줘야 합니다.
바로 아래 보면
Fw/etc/mail/local-host-names &[^/#]
이라고 써있는부분이 있을텐데 저렇게 안써있으면 저렇게 고쳐줍시다
local-host-names는 호스트 부분의 이름이 들어있는 파일로 저걸 참고해줘야 합니다
&[^/#]는 실험 결과 없어도 잘 됩니다. 근데 저게 기본값이니 혹시 몰라 냅뒀습니다
내리다보면
#DnMAILER_DAEMON
이라고 있는 부분이 있는데 그 아래다가
#Access table (주석입니다)
Kaccess hash -o /etc/mail/access
이 두 줄을 추가해줍시다
외부 서버 액세스 정보를 가지고 있는 파일을 지정해주는겁니다.
사실 기본값인데 추가했습니다. 위치는 꼭 MAILER_DAEMON 아래가 아니어도 관계없습니다
또 내리다 보면
#SMTP daemon options가 보일겁니다 (주석으로 처리된 부분)
그 아래를
# O DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA 에서
DaemonPortOptions=Port=smtp, Name=MTA 라고 고쳐줍시다.
smtp데몬이 로컬상이 아니라 외부에서도 작동하도록 하게 해주는 작업입니다.
다음은
#mininum time in queue before retry가 보일텐데 이는 전송이 실패했을 경우에 재전송하는 시간을 설정하는 부분입니다
O MinQueueAge=30m 이라고 되어 있는데, 30분마다 다시 보내는 겁니다.
바로 아래에
#how many jobs can you process in the queue? 라는 부분은
하나의 큐에서 처리 가능한 사이즈를 말합니다. 현재는
O MaxQueueRunSize=10000으로 설정해놓고, 큐는 총 6개를 사용합니다.
큐를 여러개 사용하는 이유는 메일 전송 속도를 빠르게 하기 위함인데, 이 설정은 뒤에서 설명하겠습니다
한 두줄쯤 아래에
#queue directory라고 보일텐데
O QueueDirectory=/var/spool/mqueue/ 를
O QueueDirectory=/var/spool/mqueue/q* 으로 수정해줍시다. 다중큐를 사용하기 위한 설정입니다.
다음은
access 를 수정합시다.
이는 외부의 접근을 통제하는 파일입니다.
#vi /etc/mail/access 로 열어줍니다
세부 내역은 처음에 주석으로 설명된 부분만 읽어봐도 충분하다고 생각하지만 내용을 쓰겠습니다.
# Default for loop back is RELAY
아래에 추가될 호스트를 넣습니다.
현재 localhost RELAY라고 써 있을텐데, 이는 로컬호스트(자신) 이 보내는 편지는 통과시키겠다라는 뜻입니다.
그러면 이제 접근을 허용할 서버들을 쭉 써줍시다.
현재는
localhost
127.0.0
192.168.0
등이 RELAY (허가) 상태로 되어 있습니다.
만약 특정 도메인은 차단시키고 싶다면 RELAY가 아니라 REJECT로 설정해주면 됩니다.
스팸 차단 같은 경우 좋은 활용을 할 수 있습니다.
그리고 도메인과 RELAY는 스페이스가 아니라 반드시 TAB으로 구분해줘야 합니다.
다 작성했으면 저장 후
#makemap hash /etc/mail/access < /etc/mail/access
라고 입력합니다.
access파일은 access.db를 통해서 관리되기 때문에 해주는 일입니다.
이제
local-host-names를 보죠
이 파일은 메일을 받을 곳의 호스트 네임을 적는 곳입니다. 위에도 설명해놨죠?
#vi /etc/mail/local-host-names 로 들어갑니다
#<aliases for local host> 아래다가 호스트 이름을 추가해줍시다.
현재는
localhost
192.168.0
등으로 설정되어 있습니다. 딱히 그 이후에 건드릴건 없습니다.
relay-domains을 수정합시다
사실 뭔지도 모르겠 access가 있는데 이게 왜 또 있는지 모르겠지만 이거 안하니 안될때가 있더군요. 설정해줍시다.
#vi /etc/mail/relay-domains로 열어서 access와 똑같이 해줍시다.
큐 디렉토리를 이용하여 속도 향상하기O QueueDirectory=/var/spool/mqueue/q*
작업이 선행되어 있어야 합니다.
#cd /var/spool/mqueue
#mkdir q1 q2 q3 q4 q5 q6 (큐로 쓸 디렉터리를 여러개 만듭니다)
#chown root.mail q*
서비스 리스타트
Realying denied. IP name lookup ~ error 대처#vi /etc/mail/local-host-names
에 도메인 등록 후
서비스 리스타트
#cd /etc/init.d
#./sendmail restart
사실 이것만 해서 해결되는게 아니라 access등 기타 문제가 더 클 수 있습니다.
그래서 sendmail.cf, local-host-names, access, relay-domains를 모두 건드려봐야 합니다. 수고하시길
리부팅시 자동실행#cd etc/init.d
# chkconfig --add sendmail
# chkconfig --level 2345 sendmail on
참고자료http://blog.naver.com/zenix4078?Redirect=Log&logNo=10935880 // 추천
http://blog.naver.com/jistol?Redirect=Log&logNo=80050760602 // 추천
http://blog.naver.com/saint7710?Redirect=Log&logNo=10042274293http://jjangu.pe.kr/blog/343http://www.superuser.co.kr/home/superuserboard/view.html?code=sendmail&id=2298http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10202&eid=e0avycDcoiCFMnq4M8FNsOWme4ihLJdl&qb=c2VuZG1haWwgL2xvZw==&enc=utf8http://cafe.naver.com/dungg.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=817http://juunoya.net/blog/?page=49에러 메시지http://kin.naver.com/knowhow/entry.php?d1id=8&dir_id=8&eid=iAaMqijNLa7tB6aKYQ6O2qwabe3uJiSJ&qb=NS4xLjEg7JeQ65+s&enc=utf8