Portál AbcLinuxu, 10. května 2025 07:12
Trošku jsem narazil při následujícím problému - konfiguruji postfix pro příjem části emailů jedné domény. Věc se má tak, že doména má jedno autoritativní smtp (mx) a to má pak předávat některé emaily lokálnímu smtp. Řešeno je to tak, že autoritativní server přijímá emaily pro @domena1.tld a pokud patří mojí lokalitě, tak je přepošle na @domena2.tld. Problém je v tom, že domena2.tld používám čistě pro transport (jinou možnost nemám, neptejte se mě proč) a chtěl bych jí lokálně před doručením do schránek změnit zpět na domena1.tld.
@domena1.tld (77.x.x.x) ->
@domena2.tld (192.168.1.1) ->
@domena1.tld (192.168.1.1)
U sebe mam momentálně nakonfigurován následující alias: domena2.tld domena1.tld a k tomu samozřejmě virtuální účty v domena1.tld.
Pokud se lokálně připojím telnetem a zkusím si poslat email, bez problému se doručí. Pokud jej však pošlu přes autoritativní server, vrátí se mi s touto chybou, kterou generuje můj lokální smtp:
The mail system test@domena1.tld (expanded from test@domena2.tld): mail forwarding loop for test@domena1.tld
Co jsem tak dohledal, tak je to proto, že postfix v hlavičce najde položku Delivered-To a brání se opětovnému doručení na tuto schránku jako prevence proti smyčce, která by však v tomto případě nastat neměla.
Napadá někoho rozumné řešení? Něco přímo stvořené pro tento problém jsem v dokumentaci nenašel. Napadlo mne jedině nějakým způsobem z hlavičky vyhazovat Delivered-To, ale nevím jak a nezdá se mi to ani moc čisté...
Řešení dotazu:
Tak vyřešeno:
Do main.cf vložit řádek:
header_checks = regexp:/etc/postfix/header_checks
A poté soubor header_checks vytvořit, pokud jste jej doteď nepoužívali a vložit do něj:
/^Delivered-To: .*@domena1.tld/ IGNORE
Docílí se tím toho, že postfix bude v hlavičce ignorovat pložku Delivered-To, pokud v ní bude cokoliv@domena1.tld
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.