Você não deu muitos detalhes em sua pergunta, então vou fornecer uma lista de coisas gerais para analisar.
1) Um problema comum é que o script php não é legível e / ou executável pelo usuário exim. Teste definindo o script php para o modo 755 e reenvie.
2) Certifique-se de que o caminho bang no script esteja correto. Normalmente, isso será #! / Usr / bin / php Você deve ser capaz de executá-lo a partir da linha de comando, como se estivesse sendo chamado a partir do exim:
cat temp.eml | /dir/to/php_mailer.php
3) Ou se você está testando isso chamando-o de php /dir/to/php_mailer.php
, então você precisa configurar seu transporte para chamar o binário php diretamente também. Use o caminho completo para o binário php.
4) Poucas variáveis de ambiente são definidas porque o comando não é executado sob um shell (como bash ou sh). Em vez disso, o script php é executado diretamente pelo exim no transporte.
5) Em geral, os documentos para o transporte de tubos são muito bons, por isso, certifique-se de que você leu todo o caminho e que você entende exatamente o que as opções que você está usando. Você tem uma aplicação direta do transporte de tubos, e você não está fazendo nada super complicado com isso. Transporte de tubulação
EDITAR: Depois de olhar para a sua mensagem de log acima, o problema não parece ser o seu transporte ou o seu script php. O problema é que o processo que envia o email para o seu Exim está dizendo que o remetente é root @ ETC_MAILNAME em vez de root em algum nome de domínio válido. Você precisa primeiro consertar o que está enviando o email para o Exim. Alternativamente, também pode haver algo errado com sua configuração do Exim, pois espera-se que o Exim converta ETC_MAILNAME no conteúdo do arquivo / etc / mailname (operação padrão para um sistema Exim4 baseado em Debian).