Solution 1 :
Dans mon cas, les autres réponses ne m'ont pas aidé, car j'avais déjà correctement le contexte de ces fichiers. Même si le contexte correct du fichier est appliqué, vous devrez également vous assurer que l'utilisateur Apache dispose de l'autorisation SELinux pour envoyer des e-mails. .Plus précisément, il y a une configuration SELinux qui doit être activée.
- Vérifiez si le paramètre est activé ou désactivé :
getsebool httpd_can_sendmail
- Si vous avez
httpd_can_sendmail --> off
vous pouvez activer ce paramètre de cette manière :sudo setsebool -P httpd_can_sendmail 1
-P dans la commande ci-dessus signifie Persistent (au fil des redémarrages)
Solution 2 :
Presque certainement à voir avec SELinux. Je parie que vous avez déplacé votre main.cf à cet emplacement.
Essayez d'exécuter restorecon -v /etc/postfix/main.cf
pour corriger l'étiquetage.
Solution 3 :
Ceci est probablement lié au contrôle d'accès SELinux. CentOS a le mode SELinux "Enforcing" par défaut. Veuillez vérifier l'état de SELinux avec la commande :
# sestatus
Si le résultat ressemble à ceci :
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Vous devez modifier le contexte de sécurité pour main.cf et probablement d'autres mouches de configuration de postfix. Sur ma machine, il est défini sur :
-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf
Essayez ces derniers pour définir le contexte approprié :
# chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
# restorecon -v -R /etc/postfix/
Pour vérifier :
# ls -Z /etc/postfix/