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:
- bounce - hlásí nedoručitelné maily odchozí z vašeho serveru
- 2bounce - hlásí nedoručitelné maily příchozí na váš server
- delay - hlásí pozdržené maily
- policy - hlásí spamy, resp. maily, které neprošly přes filtr
- protocol - hlásí chyby v komunikaci SMTP protokolem
- resource - hlásí systémové chyby (např. nedostatek místa na disku)
- software - hlásí chyby softwaru
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.