나는 postfix 메일 서버를 설정하고 서버의 다른 UNIX 계정에 매핑했습니다. 에 정의된 특정 주소로 보낸 메일을 수락 /etc/postfix/valias
하고 별칭으로 존재하지 않는 한 매핑된 UNIX 계정으로 라우팅한 다음 catchall
UNIX 사용자 사서함 으로 이동할 수 있기를 원합니다 .
이 작업을 수행하기 위해 정규식을 사용하려고 시도했지만 여전히 작동하지 않습니다. 모든 콘텐츠는 기존 규칙에 관계없이 포괄 계정으로 라우팅됩니다.
/etc/postfix/valias
[email protected] unix_acct1
[email protected] unix_acct2
/[email protected]$/ unix_acct1
/^.*@example.com$/ catchall_unix_acct
올바르게 통과한 것으로 보이는 포스트맵 테스트 결과
postmap -q "[email protected]" regexp:/etc/postfix/valias
postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
unix_acct
도메인에 이메일 별칭이 없습니다.
postmap -q "[email protected]" regexp:/etc/postfix/valias
postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
catchall_unix_acct
valias로 정의된 주소로 이메일을 보낼 때, 내가 꺼내지 않는 한 그것들은 catchall_unix_acct로 끝납니다. 언급한 대로, 내가 보내는 주소가 별칭으로 설정되지 않은 경우에만 포괄 별칭이 메일을 받을 수 있기를 원합니다. 이 작업을 수행하는 데 뭔가 빠졌나요?
감사해요!
답변1
2단계를 수행해야 합니다.
/etc/postfix/main.cf
이 줄을 수정 하고 추가하세요.
virtual_alias_maps = regexp:/etc/postfix/valias
내 파일/etc/postfix/valias
/^[email protected]$/ debian
/^user1(\+.*)[email protected]$/ ubuntu$1
/^user2(\+.*)[email protected]$/ debian$1
/^.*@example.com$/ root
2행과 3행의 주소는 더하기 기호 확장을 허용합니다.