받는 사람 주소에 따라 어떻게 다른 SMTP 서버로 메일을 전달 (또는 프록시) 할 수 있습니까?
포트 25에서 수신 대기하는 SMTP (Postfix) 서버가있는 하나의 시스템이 있습니다. 수신 메일 및 처리 할 postfix를 처리 하기 위해 Lamson ( http://lamsonproject.org/ )을 사용 하고 싶습니다.
내 생각은 Lamson이 다른 포트에서 청취하도록 설정하는 것입니다. localhost : 10025라고합시다. 그런 다음 포트 25에서 수신 대기하여 모든 메일을 수신하도록 postfix를 설정하십시오.
10025에서 특정 메일을 Lamson에 프록시하고 다른 모든 메일 자체를 처리하도록 Postfix를 구성하는 방법은 무엇입니까?
답변
Postfix는 구성이 매우 유연하고 복잡하므로이를 달성하는 다양한 방법이 있습니다. 가장 간단한 방법은 아마도 transport(5)
테이블 을 사용하는 것입니다 .
먼저 postfix에서 전송 테이블을 사용하도록 설정하십시오.
/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
또한 Postfix가 Lamson이 처리 할 주소의 메일을 수락하는지 확인해야합니다. permit_auth_destination
유효한 수신자 주소를 결정하기 위해 Postfix가 적용 할 규칙을 살펴보십시오 . 다음 예에서 “example.com”이 Postfix에 알려지지 않은 도메인이라고 가정하면 릴레이 도메인으로 간단히 추가하는 것이 가장 쉽습니다.
/etc/postfix/main.cf:
relay_domains = example.com
그런 다음 적절한 테이블을 작성하십시오. 예를 들어 도메인 “example.com”에 대한 모든 메일과 “user@mydomain.org”에 대한 메일을 포트 10025에서 수신 대기하는 로컬 Lamson으로 리디렉션하려면 다음을 수행하십시오.
/etc/postfix/transport:
example.com smtp:127.0.0.1:10025
user@mydomain.org smtp:127.0.0.1:10025
그 후에 (그리고 전송 테이블 파일을 업데이트 할 때마다 한 번) 다음을 실행하는 것을 잊지 마십시오.
$ postmap /etc/postfix/transport
이것은 당신을 갈 것입니다. transport(5)
이 강력한 기능을 사용하는 방법에 대한 더 많은 아이디어를 제공 하는 매뉴얼 페이지 를 읽으십시오 .