PHP incapaz de mail () em chroot embora eu possa usar o sendmail dentro do chroot

3

Estou criando um chroot do php-fpm e estou em um dos meus últimos passos antes de chamar isso de sucesso.

O chroot do php-fpm está funcionando como um encanto. Além disso, eu tenho o mini_sendmail instalado no chroot (no lugar do sendmail) e posso confirmar que ele pode enviar e-mail:

[root@hostname site1.com]# ls bin/
bash  cat  sendmail  test.txt
[root@hostname site1.com]# chroot .
bash-4.2# cat /bin/test.txt | ./bin/sendmail -t -i [email protected] [email protected]

Eu recebo o email quando o comando acima é executado.

No entanto, quando eu acesso o seguinte script php de um navegador da web, nenhum email é enviado:

<?php
    $message = "This is a test";
    $headers = 'From: [email protected]';
    mail("[email protected]", "Test", $message, $headers);
    echo "mail sent";
?>

Abaixo está meu arquivo de configuração do pool chroot do php-fpm:

[site1.com]
user = user1
group = user1
listen = 127.0.0.1:9001
listen.owner = user1
listen.group = user1
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_flag[allow_url_fopen] = on
php_flag[display_errors] = on
php_admin_value[short_open_tag] = On
php_admin_value[doc_root] = www
php_admin_value[error_log] = /logs/php-errors
php_admin_flag[log_errors] = on
php_admin_value[sendmail_path] = /bin/sendmail
php_admin_value[mail.log] = /logs/maillog
php_admin_value[error_reporting] = E_ALL
pm = ondemand
pm.max_children = 5
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chroot = /home/www/site1.com
chdir = /www
catch_workers_output = yes

Quando eu acesso o arquivo php de um navegador da web, posso confirmar que há uma entrada de log no maillog, conforme definido pelo php_admin_value[mail.log] :

mail() on [/www/mailer.php:4]: To: [email protected] -- Headers: From: [email protected]

No entanto, nada aparece no maillog do servidor (fora do chroot), e nada aparece no log de erros do php.

Como posso terminar de solucionar esta última etapa de fazer com que a função mail() do php funcione conforme desejado no meu chroot do php-fpm? Ou, como posso corrigir o problema real?

    
por David W 09.11.2015 / 16:07

0 respostas