Řešení 1:
Moderní verze cronu přijímají "MAILFROM=..." ve formátu crontab. Navrhuji, abyste zkusili "man 5 crontab". Pokud se zmiňuje MAILFROM, vaše verze by to měla podporovat. Fráze, kterou je třeba hledat, je na konci odstavce o MAILTO a měla by znít nějak takto:
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
Řešení 2:
Nemyslím si, že můžete změnit adresu FROM (někdo by měl přidat možnost MAILFROM).
K dosažení podobného výsledku však můžete udělat něco takového:
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" [email protected] -- -r "[email protected]" -F"Full Name of sender"
Veškerý výstup je směrován do příkazu mail, takže proměnná MAILTO se vůbec nepoužívá.
Bude nutné nastavit adresu to, ale možná budete moci použít proměnnou $MAILTO. Parametr -- nastaví zbytek voleb na volby sendmail, takže můžete použít volby -ra a -F.
-s je předmět
-r je adresa odpovědi
-F je celé jméno odesílatele (vypadá hezky v e-mailových klientech)
Řešení 3:
/etc/mailname obsahuje název domény část adresy FROM. Pokud /etc/mailname obsahuje 'nejakafirma.com', pak cron běžící pro root by měl odesílatele jako [email protected]
Řešení 4:
Nullmailer můžete nastavit z adresy pomocí proměnných prostředí nebo příkazového řádku. Argumenty příkazového řádku jsou -f
a -F
pro adresu odesílatele a celé jméno.
Obvykle můžete nastavit proměnné prostředí v crontab.
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
Řešení 5:
Pro mě je nejjednodušší způsob, jak změnit adresu odesílatele v systému, vytvořit ~/.mailrc
soubor s obsahem, jako je tento:
set name="My Full Name"
set from="[email protected]"
Jakékoli z mail
příkazy, které běží jako můj uživatel, nyní použijte tato nastavení.