리눅스 sendmail
IT 위키
더 많은 작업
리눅스에서 사용되는 메일 서버 프로그램
- /etc/mail/local-host-names : 메일 서버에 사용하는 도메인을 설정한다.
- /etc/mail/access : 메일 서버로 접근하는 호스트에 대한 접근제어(ACL)를 설정한다.
- /etc/mail/virtusertable : 특정 메일주소로 들어오는 메일을 다른 계정으로 포워딩한다.
- /etc/aliases : 특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정한다. 관리자(root)가 관리하며, 수정한 뒤 newaliases 를 실행해야 적용된다.
- ~/.forward : 일반 사용자가 자기 홈 디렉터리에 만들어 자기 계정으로 오는 메일을 다른 주소로 전달한다. 관리자 권한이 필요 없고, 파일에 전달받을 메일 주소를 적으면 된다.
- access와 virtusertable은 makemap hash 를 해 줘야 적용된다.
# makemap hash /etc/mail/access < /etc/mail/access
/etc/mail/access 는 메일을 보내거나 받으려는 상대를 보고 릴레이 허용·수신 거부를 정하는 접근제어 파일이다. 한 줄에 대상과 동작을 적는다.
# cat /etc/mail/access Connect:localhost.localdomain RELAY Connect:192.168.5 DISCARD From:[email protected] REJECT From:cyberspammer.com REJECT To:abc.com OK
- 대상 앞의 접두어로 무엇을 보고 판단할지 정한다.
- Connect: — 접속해 오는 호스트·도메인·IP
- From: — 발신자 메일 주소나 도메인
- To: — 수신자 메일 주소나 도메인
- 접두어를 생략하면 Connect·From·To 모두에 적용된다.
- 동작
| 동작 | 의미 |
|---|---|
| OK | 다른 규칙과 관계없이 메일을 받는다 |
| RELAY | 받은 메일을 다른 곳으로 중계(릴레이)하는 것을 허용한다 |
| REJECT | 수신을 거부하고 거부 메시지를 돌려보낸다 |
| DISCARD | 받은 뒤 아무 통보 없이 버린다 |
| ERROR:코드 메시지 | 지정한 오류 코드와 메시지로 거부한다 |
- "발신자가 [email protected] 인 메일의 수신을 거부" 는 From:[email protected] REJECT 다. Connect: 는 메일 주소가 아니라 접속 호스트를 보는 접두어이고, RELAY 는 거부가 아니라 중계 허용이다.
- 고친 뒤에는 makemap 으로 access.db 를 다시 만들어야 적용된다(아래).
- 같이 보기