접미사를 사용하여 호스트 와일드 카드 하위 도메인


9

기본 사이트의 하위 도메인에 대한 전자 메일을 수락하기 위해 postfix를 얻는 방법을 알아 내려고 노력 중입니다. 가상 도메인이 없으며 로컬 배달을위한 긴 하위 도메인 목록 만 있습니다. 특히 python@*.mydomain.com별칭 파일을 사용하여 Python에 공급 하고 있습니다.

python:    |/www/proc_email.py

파이썬은 거기에서 전달을 처리 할 수 ​​있습니다. 나는 이것을 다음과 같이 보았습니다.

mydestination = encendio, localhost.localdomain, localhost, *.mydomain.com

우분투에서 최신 버전의 postfix를 실행하고 있습니다 (버전을 확인하는 방법을 잘 모르겠습니다).

미리 감사드립니다.

답변:


19

Postfix 구성에 대상을 명시 적으로 나열하면 와일드 카드를 사용할 수 없지만 다행히 $mydestination테이블 조회를 허용 하는 옵션이 있습니다. 그래서 설정하려고 $mydestinationA를 PCRE지도 같은 :

mydestination = pcre:/etc/postfix/mydestinations

그런 다음 /etc/postfix/mydestinations올바르게 고정되고 이스케이프 된 정규 표현식으로 작성하십시오.

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.example$/     ACCEPT

기술적으로는 결과가 무시되므로 "ACCEPT"자리에 무엇이든 넣을 수 있습니다. 일치존재 만으로 충분합니다 .

호스트 또는 도메인 이름, "/ file / name"또는 "type : table"패턴 목록을 쉼표 및 / 또는 공백으로 구분하여 지정하십시오. "/ file / name"패턴은 내용으로 대체됩니다. 이름이 조회 키와 일치하면 "type : table"조회 테이블이 일치합니다 (조회 결과는 무시 됨).


2
정규 표현식은 무시되어야한다. serverfault.com/a/352928/84843
Richard Hansen

19

허용 된 답변의 pcre 솔루션은 잘 작동하지만 도메인 이름의 일부만 적중하지 않도록 정규 표현식을 고정하는 것이 좋습니다.

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.com$/         ACCEPT

0

*.mydomain.com 작동하지 않습니다.

relay-domains거기에 모든 하위 도메인 을 만들어 넣어야합니다. 한 줄에 1 개.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.