전자 메일 알림을 보내는 웹 기반 응용 프로그램에 대한 테스트 서버를 설정하고 있습니다.
때로는 실제 고객 데이터를 사용하여 테스트를 수행하기 때문에 테스트하는 동안 서버가 실제 고객에게 전자 메일을 보낼 수 없도록해야합니다.
내가 원하는 것은 보내는 전자 메일을 가져 와서 실제 대상으로 배달하는 대신 단일 전자 메일 주소로 리디렉션하도록 postfix를 구성하는 것입니다.
우분투 서버 9.10을 실행 중입니다.
미리 감사합니다
답변
트랩 된 모든 메일을 받도록 로컬 사용자를 설정하십시오.
adduser mailtrap
main.cf에 추가해야합니다.
transport_maps = hash:/etc/postfix/transport
luser_relay = mailtrap
그런 다음 / etc / postfix / transport를 작성하십시오.
localhost :
your.hostname.example.com:
* local:mailtrap
저장 후 실행 : postmap /etc/postfix/transport
마지막으로 postfix 다시 시작invoke-rc.d postfix restart
모든 로컬 이메일은 정상적으로 전달되고 외부 이메일은 로컬 mailtrap
계정 으로 전달 됩니다.
답변
가상 별명 파일을 작성하는 것이 좋습니다.
/etc/postfix/main.cf에서 :
virtual_alias_maps = pcre:/etc/postfix/virtual
/ etc / postfix / virtual에서 :
/.*@.*/ root
root
나가는 모든 전자 메일을 받고 싶은 사용자로 바꿀 수 있습니다 . 로컬 메일을 정상적으로 전달하지 않으려면이 패턴을 조정할 수 있습니다 (리디렉션 없음).
/.*@(?!hostname\.localdomain$).*/ root
원래 아이디어는 다음과 같습니다.
Postfix 개발 서버-모든 발신 메일 차단
답변
Postfix는 smtp-sink라는 것을 제공합니다. 기본적으로 수신되는 모든 이메일을 차단합니다. 파일에서 이메일을 캡처하도록 최신 버전을 구성 할 수도 있습니다.
기술적으로 postfix를 사용하지는 않지만 postfix에서 제공하는 유틸리티는 기술적으로 각 전자 메일을 단일 전자 메일 주소로 리디렉션하지 않습니다. 그러나 포트 25의 모든 트래픽을 캡처하고 구문 분석 할 수있는 파일로 덤프합니다.