Řešení 1:
V mém případě mi ostatní odpovědi nepomohly, protože jsem již měl kontext pro tyto soubory správně. I když je použit správný kontext souboru, budete si také muset být jisti, že uživatel Apache má oprávnění SELinux k odesílání e-mailů .Konkrétně existuje konfigurace SELinux, kterou je třeba zapnout.
- Ověřte, zda je nastavení zapnuto nebo vypnuto:
getsebool httpd_can_sendmail
- Pokud máte
httpd_can_sendmail --> off
toto nastavení můžete povolit takto:sudo setsebool -P httpd_can_sendmail 1
-P ve výše uvedeném příkazu znamená Trvalé (přes restarty)
Řešení 2:
Téměř jistě to souvisí se SELinuxem. Vsadím se, že jste přesunuli svůj main.cf do tohoto umístění.
Zkuste spustit restorecon -v /etc/postfix/main.cf
opravit označení.
Řešení 3:
Nejpravděpodobněji to souvisí s řízením přístupu SELinux. CentOS má ve výchozím nastavení režim SELinux "Vynucování". Zkontrolujte prosím stav SELinux pomocí příkazu:
# sestatus
Pokud je výstup něco takového:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Musíte změnit bezpečnostní kontext pro main.cf a pravděpodobně další konfigurační mouchy postfixu. Na mém počítači je nastaven na:
-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf
Chcete-li nastavit správný kontext, zkuste toto:
# chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
# restorecon -v -R /etc/postfix/
Pro ověření:
# ls -Z /etc/postfix/