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' } //* 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); ?>
| |
|