[펌] Sendmail SMTP 인증 설정 관련(SMTP Auth) > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

[펌] Sendmail SMTP 인증 설정 관련(SMTP Auth) 정보

기타 [펌] 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>
추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로