Seja bem-vindo ao Centro de Suporte Silicom. Caso não saiba sua senha, favor usar a opção Senha perdida, do lado esquerdo. Se estiver em dúvida sobre qual o seu login ou não possuir cadastro, favor contatar nosso Depto. Comercial ou Suporte ou Depto. Técnico informando qual a sua organização.
Base de Conhecimento
Log de formulários PHP - sendmail
Publicado por Ricardo Ranieri a 27 March 2015 12:10 PM

Criar um arquivo vazio em /var/log/formmail.log

    touch /var/log/formmail.log

    chmod 777 /var/log/formmail.log

Criar o arquivo /usr/sbin/sendmailphp com o conteúto a seguir.

    vi /usr/sbin/sendmailphp

Colocar permissão de execução.

    chmod +x /usr/sbin/sendmailphp

Alterar no php.ini o caminho do sendmail

   sendmail_path = /usr/sbin/sendmailphp

 

##### arquivo sendmailphp #########

 

#!/usr/bin/php

<?php

$sendmail_bin = '/usr/sbin/sendmail';

$logfile = '/var/log/formmail.log';

//* Get the email content

$logline = '';

$pointer = fopen('php://stdin', 'r');

while ($line = fgets($pointer)) {

        if(preg_match('/^to:/i', $line) || preg_match('/^from:/i', $line)) {

                $logline .= trim($line).' ';

        }

        $mail .= $line;

}

//* compose the sendmail command

$command = 'echo ' . escapeshellarg($mail) . ' | '.$sendmail_bin.' -t -i';

for ($i = 1; $i < $_SERVER['argc']; $i++) {

        $command .= escapeshellarg($_SERVER['argv'][$i]).' ';

}

//* Write the log

file_put_contents($logfile, date('Y-m-d H:i:s') . ' ' . $PWD . ' ' . $logline . PHP_EOL , FILE_APPEND );

//* Execute the command

return shell_exec($command);

?>

 

(0 voto(s))
Útil
Não útil

Comentários (0)