Nefunguje forward do programu

Problém: Nefunguje forward příchozí pošty do programu, každý pokus skončí s hlášením

----- The following addresses had permanent fatal errors -----
"|/usr/bin/vacation truhlik"
    (expanded from: <truhlik@localhost>)

   ----- Transcript of session follows -----
sh: vacation not available for sendmail programs
554 "|/usr/bin/vacation truhlik"... Service unavailable

Odpověď: Váš sendmail používá smrsh, sendmail restricted shell, kdy nelze volat jiné programy než ty, které jsou vyjmenovány v /etc/smrsh. Obvykle se to dělá vytvořením symbolických odkazů používaných programů do tohoto adresáře, např.

ln -s /usr/bin/vacation /etc/smrsh

V /etc/sendmail.cf se u direktivy Mprog můžete dočíst: P=/usr/sbin/smrsh, tedy pro volání programů z .forward použít /usr/sbin/smrsh. Pokud vám to takto nevyhovuje a jste si jisti, že víte, co děláte, můžete direktivu změnit na volání běžného shellu /bin/sh, samozřejmě raději ve zdrojovém mc souboru než přímo v sendmail.cf (v rh systémech v adresáři /usr/share/sendmail-cf/cf).

V jiném než domácím prostředí to ale není moc dobrý nápad. Pokud uživatel potřebuje individuálně pracovat s příchozími dopisy, měl by využít možností lokálního doručovacího programu (MDA) procmail. Zkoušet sendmail z toho, co všechno dokáže sežrat, si nemůže dovolit každý.

Odkazy: