모든 접미사 이메일을 하나의 외부 이메일 주소로 리디렉션하는 방법은 무엇입니까?


24

테스트 이메일 서버를 만들려면 다음과 비슷한 요구 사항이 있습니다.

테스트를 위해 모든 발신 이메일을 postfix에서 단일 주소로 리디렉션하는 방법

하지만 모든 이메일을 로컬 계정이 아닌 외부 계정으로 보내야합니다.

나는 다음과 같은 것을하고 싶다 :

  • xyz : 이메일 @ gmail.com

그러나 xyz는 로컬도 아니고 smtp도 아닙니다.

답변:


45

/etc/postfix/virtual-regexp다음 내용으로 작성하십시오 .

/.+@.+/ email@gmail.com

virtual_maps 구성을 편집 /etc/postfix/main.cf하고 추가 하십시오 regexp:/etc/postfix/virtual-regexp. main.cf에서 최종 결과는 다음과 같습니다.

virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp

다음을 입력하여 맵 파일을 작성하십시오.

postmap /etc/postfix/virtual-regexp

또한 virtual.db가 있어야합니다. virtual이라는 빈 파일을 생성하지 않으면 다음을 실행하십시오.

touch /etc/postfix/virtual && postmap /etc/postfix/virtual

짜잔!


1
귀하의 답변에 대해 Mattias Ahnberg에게 감사드립니다. 하나의 고유 한 전자 메일 주소 (예 : Gmail)로 설치된 postfix를 사용하여 여러 메일을 컴퓨터로 보내는 것은 어떻습니까? 2-3 개의 첫 번째 메일 만받을 수 있으며 나머지는 반송됩니다.
postmaps

local사용자 (루트 등)로 주소가 지정된 모든 메일 을 외부 주소로 리디렉션하고 다른 메일은 리디렉션 할 수 없습니까? 나는 at 부호가 어떻게 든 부정되어야한다고 생각한다
유역

@basin email@gmail.com을 root @ localhost로 바꾸는 것 같습니까?
user14645 2016 년

아니오, 나는 이것이 대답이라고 생각합니다 : serverfault.com/questions/318426/…
basin

정규 표현식 테이블은 그대로 사용되며 포스트 맵을 실행할 때 아무런 의미가 없습니다.
Joó Ádám

1

시간이 좀 걸렸으므로

여기서 대상 도메인을 제외하려면 규칙 앞에 접두사를 붙입니다.

/.+@exclude1.com/ @exclude1.com
/.+@exclude2.com/ @exclude2.com
...

원래 수신자를 유지하기 위해 가상 맨 페이지가 이것을 달성하는 방법에 약간 혼란 스럽다는 것을 알았습니다.


-2

로컬 계정으로 이동 한 다음 모든 메일을 외부 주소로 전달해도됩니까? 언급 한 다른 질문과 같이 실행 한 다음 procmail 을 사용 하여 메시지를 전달한 다음 로컬로 삭제하십시오. 같은 뭔가 아마을 / dev / null로 폴더를 대체하여 트릭을 할 것입니다.

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