개발 목적으로 우리는 특정 SMTP 계정을 통해 전송되는 모든 메일을 이 동일한 계정으로 전달하는 메일 서버(postfix)를 설정하려고 합니다.
편집하다: 더 이상 원래 주소로 메일이 발송되지 않습니다.
따라서 우리는 프로젝트마다 다른 계정을 만들고, 한 프로젝트의 모든 메일은 하나의 사서함으로 이동합니다.
현재 우리는 다음 솔루션을 사용하고 있습니다.모든 발신 이메일(수신자 1명 제외)의 수신자 다시 쓰기
하지만 이를 SMTP AUTH 계정을 기반으로 하는 다양한 대상 주소에 어떻게 적용할 수 있습니까?
답변1
다음은 두 가지 옵션입니다.
1. sender_bcc_maps
Postfix의 옵션을 사용하십시오.
sender_bcc_maps (기본값: 비어 있음)
보낸 사람 주소로 색인이 생성된 선택적 BCC(숨은 참조) 주소 조회 테이블입니다. BCC 주소(복수 결과는 지원되지 않음)는 Postfix 외부에서 메일이 들어올 때 추가됩니다.
다음을 추가해야 합니다 /etc/postfix/my.cnf
.
sender_bcc_maps = hash:/etc/postfix/bcc_maps
그리고 /etc/postfix/bcc_maps
파일에 원하는 매핑을 추가합니다.
[email protected] [email protected]
[email protected] [email protected]
그런 다음 다음을 실행하십시오.
postmap /etc/postfix/bcc_maps
그리고 Postfix를 다시 시작하세요.
- 발신자 기반 리디렉션
main.cf에서:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access
sender_access 파일에서:
from_address@domain redirect new_to_address@anotherdomain.
그런 다음 postmap /etc/postfix/sender_access
postfix를 다시 시작하십시오.
답변2
이것은 대답하지 않습니다SMTP 인증 기반하지만 귀하의 필요에 따라 솔루션을 제공합니다.
이를 위해 표준 맵을 사용하고 새 vps(centos/ubunbtu 뭐든지)를 설정한 다음 내 'dev' 시스템을 이 상자를 스마트호스트하도록 설정했습니다(네트워크 내, 예: 192.168.0). wp-smtp로도 동일한 작업을 수행할 수 있습니다. 또는 다른 사람들은 interworx를 사용하여 스마트호스트가 가장 잘 작동했습니다.
[root@mx ~]# cat /etc/postfix/main.conf
recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map
mynetworks = 192.168.0.0/24
header_checks = regexp:/etc/postfix/header_checks
relayhost = mailserver.example.com
[root@mx ~]# cat /etc/postfix/header_check
/^Subject: (.*?)$/ REPLACE Subject: [Dev] $1
[root@mx ~]# cat /etc/postfix/recipient_canonical_map
/./ [email protected]
*regexp이므로 파일을 포스트맵할 필요가 없습니다.
이것은 개발 환경이므로 개인적인 경험으로 볼 때 개발을 수용하기 위해 프로덕션을 조작하는 것을 제안하지 않지만 이러한 시스템을 연결하기 위해 이와 같은 시스템을 구축하십시오.
http://www.postfix.org/postconf.5.html#recipient_canonical_maps