Exim4 스마트 호스트 릴레이

Exim4 스마트 호스트 릴레이

Exim 4.71을 실행하고 있습니다. 나는 다음을 원한다:

  1. 모든 이메일 라우팅~에서mail.A.com을 통한 A.com
  2. 모든 이메일 라우팅~에서[BE].com(mail.B.com을 통해)
  3. 다른 모든 이메일은 직접 보내세요.

내가 원하는 대로 작동하지 않는 구성은 다음과 같습니다.

도메인 목록 a_domains = a.com
domainlist b_domains = b.com : c.com : d.com : e.com

라우터 시작

smart_route_a:
  운전자 = 수동 경로
  도메인 = +a_domains
  전송=remote_smtp
  Route_list = +a_domains mail.a.com
  더 이상은 없어

smart_route_b:
  운전자 = 수동 경로
  도메인 = +b_도메인
  전송=remote_smtp
  Route_list = +b_domains mail.mollenhour.com
  더 이상은 없어

DNS 조회:
  드라이버 = dnslookup
  도메인 = ! +로컬_도메인
  전송=remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  더 이상은 없어

예를 들어 PHP를 사용하여 이메일을 보내 mail(거나 Zend_Mail_Transport_SmtpFrom: 및 Return-Path:를 모두 다음과 같이 설정하는 경우[이메일 보호됨], smart_route_a라우터가 사용되지 않고 대신 dnslookup이 사용됩니다. dnslookup을 비활성화하면 메일이 전송되지 않습니다.

로그를 보면 이메일이 전송된 것으로 나타납니다.에게 [이메일 보호됨]를 사용 smart_route_a하지만 다음에서 보낸 동일한 이메일이[이메일 보호됨]에게[이메일 보호됨]를 사용하여 전송됩니다 dnslookup.

이메일은 어떻게 만드나요?~에서 [이메일 보호됨]mail.a.com을 통해 중계되나요?

답변1

다음과 같은 조건부 사용

route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"

domains = 원본 도메인이 아닌 대상 도메인만 확인합니다.

관련 정보