Exim4를 통해 메일에 사용할 원격 포트를 지정하십시오
문제
exim4를 사용하여 스톡 데비안 에칭 시스템이 있습니다. 도메인은 대부분 로컬이지만 일부는 원격이 있습니다. 원격 메일의 전달을 처리하려면 Debian 구성 파일을 사용합니다.
/etc/exim4/hubbed_hosts
이 파일에는 도메인 이름과 원격 MX 머신을 제공합니다. 예를 들어:
example.org: mx.example.com
example.com: mx2.example.com
exim4 구성 파일을 살펴보면 다음과 같이 사용됩니다.
hubbed_hosts:
debug_print = "R: hubbed_hosts for $domain"
driver = manualroute
domains = "${if exists{CONFDIR/hubbed_hosts}\
{partial-lsearch;CONFDIR/hubbed_hosts}\
fail}"
route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
transport = remote_smtp
내가 가진 문제는 그 것입니다 약간 내가 사용하는 호스트 중 메일을 비표준 포트로 배송해야합니다. 불행히도 Debian Hubbed_hosts 파일은 포트를 포함하도록 변경하려고하면 작동하지 않습니다.
example.org: mx1.example.org:2525
example.com: 1.2.3.4.2525
포트를 동적으로 지정할 수 있습니까?
해결책 2
나는 좀 더 역동적 인 것을 기대하고 있었고이 솔루션은 다음과 같습니다.
port = ${if exists{/etc/exim4/ports.list}\
{${lookup{$domain}lsearch{/etc/exim4/ports.list}\
{$value}{25}}}{25}}
그런 다음 간단한 파일에는 도메인 별 포트 목록이있을 수 있습니다.
example.org: 2525
example.com: 26
다른 팁
이는 EXIM4 구성을 변경하지 않고 실제로 기본적으로 지원됩니다.
hubbed_hosts에서는 콜론이있는 호스트를 분리하고 이중 콜론이있는 포트 번호를 지정합니다. 전:
domain1: server1:server2::port:server3
domain2: server1::port
domain3: server1:server2
자세한 정보는 확인하십시오 http://www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#secid122
아마도 $ {extract} 연산자를 사용하여 원래 질문의 예와 같이 포트 번호와 호스트 이름을 결합 할 수 있습니다.
(테스트되지 않은)와 같은 것 :
route_data = ${extract{1}{:}{${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}}}
포트를 지정하는 새로운 전송을 만드십시오
remote_hub_2525:
driver = smtp
port = 2525
그런 다음 비표준 배달이 필요한 도메인에 대한 라우터를 만듭니다.
non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
제휴하지 않습니다 StackOverflow