상황: 여러 사용자에게 이메일을 보내기 위해 postfix를 실행하는 약 10개의 가상 머신(Linux). 해당 이메일은 모두 중앙 서버를 통해 중계된 후 인터넷으로 전송됩니다.
가상 머신의 이름은 redmine.vanheusden.local 또는 scm.vanheusden.local 등과 같습니다.
중앙 Postfix 서버가 모든 이메일을 인터넷에 올리기 전에 릴레이하는 모든 이메일에 대해 *@vanheusden.local의 이름을 @vanheusden.com으로 바꾸길 바랍니다.
masquerade_domains를 사용할 수 있다고 생각했는데 분명히 이것이 (더 이상) 작동하지 않습니까?
masquerade_domains = vanheusden.com
local_header_rewrite_clients = static:all
masquerade_classes = envelope_sender, envelope_recipient, header_sender, header_recipient
답변1
안타깝게도 이 사용 사례에는 masquerade_domains를 사용할 수 없습니다.
masquerade_domains를 사용하면 이메일 주소의 도메인 이름을 제거할 수 있습니다.
예:
/etc/postfix/main.cf:
masquerade_domains = foo.example.com example.com
strips "any.thing.foo.example.com" to "foo.example.com", but strips "any.thing.else.example.com" to "example.com".
원천:http://www.postfix.org/ADDRESS_REWRITING_README.html#masquerade
대신 일반 매핑을 사용해야 합니다. 이렇게 하면 원하는 대로 주소를 완전히 다시 쓸 수 있습니다.
예:
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic:
@vanheusden.local @vanheusden.com
원천:http://www.postfix.org/ADDRESS_REWRITING_README.html#generic