Resolver PHP mail no funciona

    Una de las causas por la que la función mail de PHP no envie correo eletrónico es: que el SELinux este impidiendo que el Apache use el sendmail, esto puede ocurrir debido a que el binario del sendmail perdió el contexto o que el booleano httpd_can_sendmail este en off. Para solucionarlo siga los siguientes pasos.

    Nota: La librería PHPMailer emite el error: La función Mail no puede ser instanciada (Could not instantiate mail function) cuando la función mail devuelve falso.

    Cheque el estado del SELinux
    # sestatus
    
    Cheque que el booleano httpd_can_sendmail este en on
    # getsebool httpd_can_sendmail
    

    Si esta en off, ejecute

    # setsebool -P httpd_can_sendmail on
    

    donde: -P significa que el valor es persistente (se mantiene después de reiniciar el SO)

    Intente enviar correos si sigue sin funcionar siga con el próximo paso

    Cheque el contexto del sendmail
    $ ls -lZ /usr/sbin/sendmail*
    rwxr-sr-x  root smmsp system_u:object_r:sendmail_exec_t /usr/sbin/sendmail.sendmail
    

    Si es diferente al mostrado, ejecute

    # chcon -t sendmail_exec_t /usr/sbin/sendmail.sendmail
    



    2 Comentarios

    1. Juan

      Muy Bueno me ayudo bastante gracias

      Responder
    2. Liliana

      Muchas gracias, me sirvió mucho este artículo. Exitos

      Responder

    Dejar un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *