Postfix : 별칭 도메인이란 정확히 무엇입니까? => main.com info@alias.com으로 메일을 보내면 다음과

“Alias ​​도메인”을 다른 도메인의 별칭으로 이해했다고 생각했습니다. 따라서 “info@main.com”과 같은 사서함을 설정하고 “main.com”의 도메인 별칭으로 “alias.com”을 추가하면 “info@alias.com”주소도 작동합니다 … 그러나 아니요 !

따라서 다음 도메인을 추가했습니다.

  • main.com
  • alias.com

이 사서함을 만들었습니다.

  • info@main.com

그런 다음이 별칭 도메인을 매핑했습니다.

  • alias.com => main.com

info@alias.com으로 메일을 보내면 다음과 같은 오류가 발생합니다.

Recipient address rejected: User unknown in virtual mailbox table (state 13).

몇 개가 있기 때문에 모든 도메인에 대한 별칭을 만들고 싶지 않습니다. 또한 별칭이 아닌 다른 도메인도 있기 때문에 info @ *와 같은 와일드 카드를 사용하고 싶지 않습니다.main.com

그래서 … 이것들은 정확히 무엇입니까?



답변

설명은 다음 문서에 있습니다. http://www.postfix.org/VIRTUAL_README.html#virtual_alias

“별칭 사서함”(일명 virtual_mailbox_alias 및 virtual_mailbox_maps)을 원하지만 “별칭 도메인”에 대해 이야기 하십시오 . http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class


답변

에 추가 alias.com하는 virtual_alias_domains것이 올바른 첫 단계이지만 Postfix에 해당 도메인을 별칭으로 사용하겠다고 알려줍니다. 별명이 무엇인지 말하지 않습니다. 이를 위해서는 가상 별명 맵을 사용해야합니다.

먼저 다음과 같은 것을 추가하십시오 main.cf:

virtual_alias_domains = alias.com
virtual_alias_maps = hash:/etc/postfix/virtual

추가 virtual_alias_maps하면 /etc/postfix/virtual가상 별칭 맵으로 사용되는 파일 ( )이 표시됩니다. 그러나 그 파일에 무엇을 넣습니까? virtual (5) 맨 페이지 에 따르면 :

postmap (1) 명령의 입력 형식은 다음과 같습니다.

  pattern address, address, ...

패턴이 메일 주소와 일치하면 해당 주소로 바꾸십시오.

DB 또는 DBM과 같은 색인 파일 또는 NIS, LDAP 또는 SQL과 같은 네트워크 테이블에서 조회하면 각 user @ domain 조회는 아래 설명 된대로 일련의 조회 패턴을 생성합니다. 일치하는 것을 찾을 때까지 다음 쿼리 패턴을 시도하기 전에 각 쿼리 패턴이 지정된 각 조회 테이블로 전송됩니다.

@domain address, address, ...

도메인에있는 다른 사용자의 메일을 주소로 리디렉션합니다.

조회 결과는 주소 다시 쓰기의 영향을받습니다. 결과가 형식 @otherdomain인 경우 결과는의 동일한 사용자가됩니다 otherdomain. 이것은 다중 주소 조회 결과의 첫 번째 주소에서만 작동합니다.

따라서 이것을 넣으면 /etc/postfix/virtual원하는 전체 도메인 별칭이 달성됩니다.

# map any <user>@alias.com to the matching <user>@main.com
@alias.com     @main.com

그런 다음 해당 파일은 해시 테이블이므로 다음을 실행해야합니다 postmap( description , manpage ).

postmap /etc/postfix/virtual

Postfix Virtual Domain HOWTO에서 가상 도메인Postfix Address Rewriting HOWTO 에서 별칭에 대한 자세한 정보를 찾을 수 있습니다 .


답변

@ 조쉬 M.

이것이 올바른 방법인지 좋은 습관인지는 모르겠지만 다음과 같은 것을 사용하고 있습니다.

virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/     virtual_alias_maps.cf

$ cat /etc/postfix/domain_rewriting
/^(.*)@domain1.com$/     ${1}@domain2.com

답변

이것은 @ sam-hanes의 대답의 짧은 버전입니다 (나에게 도움이 됨)

당신에 virtual_alias_maps 추가 :

@from.domain <tab> @to.domain

커맨드 라인에서 :

 postmap /path/to/yourvirtualalismapsfile

당신에 main.cf 파일 추가 :

virtual_alias_domains : from.domain

virtual_alias_domains는 postfix에게 mailbox@from.domain 형식의 모든 사서함 주소가 모두 별칭임을 알려줍니다.