Portál AbcLinuxu, 10. května 2025 07:12

Dotaz: Mail forwarding loop

Zdeněk Zámečník avatar 26.1.2009 10:21 Zdeněk Zámečník | skóre: 26
Mail forwarding loop
Přečteno: 360×
Odpovědět | Admin

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:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Zdeněk Zámečník avatar 26.1.2009 11:55 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Mail forwarding loop
Odpovědět | | Sbalit | Link | Blokovat | Admin

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

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.