Disassembler

Artificial intelligence is no match for natural stupidity.
15října2011

Postfix: Upozorňování na nedoručitelné maily


Máte-li poštovní server server, možná se vám občas stane, že za vámi přijde uživatel s tím, že mu nejde poslat mail. A máte-li firmu plnou nepříliš počítačově založených a anglicky nehovořících zaměstnanců, kteří vám nedoručitelný mail oznámí týden po tom, co se ho pokusili odeslat a vrácený mail s chybovou hláškou navíc smazali, asi jim moc nepomůžete. Ale pro ty, co používají postfix, mám řešení.

Bonzování chyb


Krása postfixu spočívá v jeho snadné konfiguraci. A konfigurační parametr notify_classes je klíčem k tomuto problému. V notify_classes je uvedeno jaké třídy chyb se mají hlásit. Třídy jsou:

Ve výchozím nastavení notify_classes se hlásí pouze třídy resource a software, a jak jste asi správně uhodli, my budeme chtít i bounce. Bohužel třída bounce implikuje i třídu 2bounce, která často chytá i spamy, takže je dobré pro ni pak nastavit jiného příjemce nebo, pokud vás chyby nezajímají, maily zahazovat. Příjemce je možno nastavit u jednotlivých tříd. Třída bounce posílá maily na adresu uvedenou v konfiguračním parametru bouce_notice_recipient, třída 2bounce na 2bounce_notice_recipient, delay na delay_notice_recipient a ty ostatní na error_notice_recipient. Všichni příjemci jsou ve výchozí konfiguraci nastaveni na uživatele „postmaster“. Vaše spása tedy bude vypadat nějak takto:

postconf -e 'notify_classes = resource, software, bounce'
postconf -e 'bounce_notice_recipient = nedorucitelne@example.com'
service postfix reload

Z důvodu bezpečnosti a ochrany soukromí postfix nikdy nepřeposílá celý mail, ale vždy jen hlavičky nebo popis problému. I to ale bohatě stačí, aby byl problém identifikován. Příchozí mail s informací o nedoručení tedy bude vypadat například takto:

<uzivatel@example.com>: message size 20135678 exceeds size limit 18000000 of server
    mx1.seznam.cz[77.75.76.42]

Z čehož jasně vyplývá, že uživatel bude muset pár fotek z dovolené oželet.

Pokud se chcete o notify_classes a dalším nastavení postfixu dozvědět více, RTFM.