[펌] Sendmail SMTP 인증 설정 관련(SMTP Auth)
메일 서버를 운영할 때 외부에서 회사 서버에 접속해서 다른 회사의 이메일을 보내야 할 경우가 있습니다.
보안 상 제일 좋은 방법은 포털의 웹메일을 이용하게 하는 것이 좋겠지만, 또 업무를 위해서는 이런 경우도 종종 있을 수 있습니다. 이를테면 프로젝트 수행을 위해 별도 사무실을 장기간 운영해야 할 경우, 회사 메일 서버 이용에 제한을 받을 수 밖에 없습니다.
대개는 access.db를 이용해서 처음부터 접속하는 IP대역을 설정할 수도 있지만, SMTP에 대한 계정 인증 방식을 통해서도 가능합니다.
이 방법의 경우, 언제 어디서나 회사 메일 서버에 자기 계정만 있다면 이메일을 보낼 수가 있게 됩니다.
많이 쓰는 방법인데, 설명이 부족하거나 버전이 업데이트 되면서 현재 공개된 문서들로는 부족한 것 같습니다. 그래서, 다시 정리해서 올릴까 합니다.
참고로 제가 운영하는 환경은 CentOS 4.2입니다.
sendmail.mc에서 추가로 설정해야 할 부분
다음 부분을 찾아서 다음과 같이 바꿔줍니다.
1. dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
2. dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
3. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
(어디에서나 접속가능하도록 변경. sendmail이 8.12 버전으로 업그레이드 되면서 로컬 호스트에서만 발송가능하게끔 되어 있던 것을 주석처리해서 사용하다가, 이것을 어느 네트워크에서든지 접속할 수 있게끔 변경)
그리고 반드시 m4 명령으로 sendmail.cf는 다시 생성해야 하는 것은 아시겠죠?
다음과 같이 합니다 :
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
바뀐점
1. SASL 보안 모듈은 SASL2로 버전업되었습니다. 따라서 /usr/lib/sasl에서 Sendmail.conf를 설정하는 것이 아니고, /usr/lib/sasl2에서 설정해야 합니다. 그리고, 이미 Sendmail.conf가 만들어져 있습니다.(다시 설정할 필요가 없음)
서비스 추가 또는 확인해야 할 점
서비스 데몬에서 saslauthd 서비스가 실행 중인지 확인하십시오. 실행되어 있지 않으면 SMTP 인증이 되지 않아 계속 인증 확인창이 뜰 것입니다.
ntsysv 명령을 실행시켜 saslauthd 항목을 찾아 자동시작데몬으로 체크해주십시오.
실행할 때는 다른 서비스들과 마찬가지로 다음과 같이 실행합니다 :
service saslauthd start<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
보안 상 제일 좋은 방법은 포털의 웹메일을 이용하게 하는 것이 좋겠지만, 또 업무를 위해서는 이런 경우도 종종 있을 수 있습니다. 이를테면 프로젝트 수행을 위해 별도 사무실을 장기간 운영해야 할 경우, 회사 메일 서버 이용에 제한을 받을 수 밖에 없습니다.
대개는 access.db를 이용해서 처음부터 접속하는 IP대역을 설정할 수도 있지만, SMTP에 대한 계정 인증 방식을 통해서도 가능합니다.
이 방법의 경우, 언제 어디서나 회사 메일 서버에 자기 계정만 있다면 이메일을 보낼 수가 있게 됩니다.
많이 쓰는 방법인데, 설명이 부족하거나 버전이 업데이트 되면서 현재 공개된 문서들로는 부족한 것 같습니다. 그래서, 다시 정리해서 올릴까 합니다.
참고로 제가 운영하는 환경은 CentOS 4.2입니다.
sendmail.mc에서 추가로 설정해야 할 부분
다음 부분을 찾아서 다음과 같이 바꿔줍니다.
1. dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
2. dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
3. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
(어디에서나 접속가능하도록 변경. sendmail이 8.12 버전으로 업그레이드 되면서 로컬 호스트에서만 발송가능하게끔 되어 있던 것을 주석처리해서 사용하다가, 이것을 어느 네트워크에서든지 접속할 수 있게끔 변경)
그리고 반드시 m4 명령으로 sendmail.cf는 다시 생성해야 하는 것은 아시겠죠?
다음과 같이 합니다 :
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
바뀐점
1. SASL 보안 모듈은 SASL2로 버전업되었습니다. 따라서 /usr/lib/sasl에서 Sendmail.conf를 설정하는 것이 아니고, /usr/lib/sasl2에서 설정해야 합니다. 그리고, 이미 Sendmail.conf가 만들어져 있습니다.(다시 설정할 필요가 없음)
서비스 추가 또는 확인해야 할 점
서비스 데몬에서 saslauthd 서비스가 실행 중인지 확인하십시오. 실행되어 있지 않으면 SMTP 인증이 되지 않아 계속 인증 확인창이 뜰 것입니다.
ntsysv 명령을 실행시켜 saslauthd 항목을 찾아 자동시작데몬으로 체크해주십시오.
실행할 때는 다른 서비스들과 마찬가지로 다음과 같이 실행합니다 :
service saslauthd start<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.
프로그램
태그 필터 (최대 3개)
전체
개발자
소스
기타
mysql
팁자료실
javascript
php
linux
flash
정규표현식
jquery
node.js
mobile
웹서버
os
프로그램
강좌
썸네일
이미지관련
도로명주소
그누보드5
기획자
견적서
계약서
기획서
마케팅
제안서
seo
통계
서식
통계자료
퍼블리셔
html
css
반응형
웹접근성
퍼블리싱
표준화
반응형웹
홈페이지기초
부트스트랩
angularjs
포럼
스크린리더
센스리더
개발자톡
개발자팁
퍼블리셔톡
퍼블리셔팁
기획자톡
기획자팁
프로그램강좌
퍼블리싱강좌