7
2013
Logger les mails envoyés par la fonction mail
Dans cet article nous allons voir comment tracer les mails envoyer par un site web utilisant la fonction mail.
Cette procédure est très utile pour traquer le site qui spam sur un serveur mutualisé.
Procédure :
Créer le fichier /usr/sbin/phpsendmail et y insérer ceci :
[php]#!/usr/bin/php
<?php
$sendmail = ‘/usr/sbin/sendmail’;
$logfile = ‘/var/log/mail_php.log’;
/* Get email content */
$logline = ”;
$mail = ”;
$fp = fopen(‘php://stdin’, ‘r’);
while ($line = fgets($fp))
{
if(preg_match(‘/^to:/i’, $line) || preg_match(‘/^from:/i’, $line))
{
$logline .= trim($line).’ ‘;
}
$mail .= $line;
}
/* Build sendmail command */
$cmd = ‘echo ‘ . escapeshellarg($mail) . ‘ | ‘.$sendmail.’ -t -i’;
for ($i = 1; $i < $_SERVER[‘argc’]; $i++)
{
$cmd .= escapeshellarg($_SERVER[‘argv’][$i]).’ ‘;
}
/* Log line */
$path = isset($_ENV[‘PWD’]) ? $_ENV[‘PWD’] : $_SERVER[‘PWD’];
file_put_contents($logfile, date(‘Y-m-d H:i:s’) . ‘ ‘ . $logline .’ ==> ‘ .$path."\n", FILE_APPEND);
/* Call sendmail */
return shell_exec($command);
?>[/php]
Creer le fichier log et changer les droits des deux fichiers :
[shell]
touch /var/log/mail_php.log
chmod 777 /var/log/mail_php.log
chmod 777 /usr/sbin/phpsendmail
[/shell]
Editez le fichier /etc/php.ini et modifier le chemin de sendmail pour qu’il pointe sur notre script phpsendmail :
[shell]
[mail function]
;SMTP = localhost
;smtp_port = 25
sendmail_path = /usr/sbin/phpsendmail
[/shell]
Redémarrez Apache et visualisez le log /var/log/mail_php.log
Articles similaires
Laissez un commentaire
Publicité :)
Articles récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
- Powershell – Se connecter à l’active directory depuis un poste windows 11
- Powershell – Autoriser l’exécution de scripts non signés
- Powershell – Changer le domaine des adresses emails de tous les utilisateurs AD
Partenaires
Mot-clefs
Mes derniers tweets
-
RT @BSE_Anoss: Lancement de #Starwheels le 19 Juin à 20h30 sur twitch/oganoss ! C'est mon plus gros projet, j’espère que vous sere… https://t.co/NjLCKbaHXA