Na mém Red Hat Linuxu 7.1 (7.2, 7.3, 8.0) po dokončení instalace nefunguje sendmail - nepřijímá poštu a pokusy o připojení odmítá, i když proces sendmail běží a dokonce se ohlásí:
telnet localhost 25
ještě funguje, ale
telnet 192.168.0.1 25
(kde 192.168.0.1 je vnitřní IP serveru) hlásí Connection refused nebo jinou podobnou hlášku.
Odpověď: Sendmail je od RH 7.1 sestaven s knihovnou tcp_wrappers (byl to poslední démon, který v systému byl bez ní), to znamená, že připojování se řídí obsahem souborů /etc/hosts.{allow,deny}. Pokud máte standardní konfiguraci s ALL: ALL v hosts.deny, musíte do hosts.allow doplnit řádek podobný tomuto:
sendmail: ALL
Druhá zrada je skryta v konfiguračním souboru sendmail.cf: předpokládá se, že každý admin si změní konfiguraci sám, takže se program distribuuje s nastavením o něco bezpečnějším a vhodnějším pro ty, kteří by si s ním nemuseli sami poradit, kdy démon poslouchá pouze na rozhraní localhost.
# SMTP daemon options O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Rychlá pomoc: Pokud chcete jenom vrátit stav k předchozí funkční verzi, tento řádek zapoznámkujte nebo změňte na O DaemonPortOptions=Name=MTA.
Nejlepší je vygenerovat si konfigurační soubor nový po příslušných změnách v souboru sendmail.mc (pravděpodobně jej najdete v adresáři /etc/mail/). Najděte řádek
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
zakomentujte jej (před první sloupec napište dnl) nebo za něj přidejte podobné řádky (samozřejmě se správně vyplněnou IP adresou rozhraní, na kterém má démon poslouchat):
DAEMON_OPTIONS(`Port=smtp,Addr=MO.JE.I.P, Name=MTA') DAEMON_OPTIONS(`Port=smtp,Addr=DAL.SI.I.P, Name=MTA')
Pak stačí vyvolat v onom adresáři příkaz make, případně, není-li definováno pravidlo v Makefile, spustit příkaz m4 < sendmail.mc > sendmail.cf kterým se vygeneruje soubor sendmail.cf s novým nastavením. Ten pak překopírujte na správné místo, do adresáře /etc.
Další možné příčiny problémů:
Viz též FAQ Síťové služby mají dlouhou odezvu.