пятница, 2 ноября 2012 г.

PHP + SENDMAIL.PHP + EML VIEWER



/*
 * Скрипт перехватывает поток, предназначенный для программы sendmail
 
 * Настройка: 
 * 1. в php.ini прописать путь к этому файлу 
 *    sendmail_path = "php -f c:\Tools\mailtool\mailtool.php"
 
 * 2. указать в переменной $mailDir путь к каталогу, куда будут складываться 
 *    отправленные письма
 */
  
  
$mailDir = __DIR__ . "/../../sendmail/";
$fileName = date('d.m.Y-H.i.s') . "[". round(microtime(), 3) ."]";
  
// получаем поток
$contents = file_get_contents("php://stdin");
  
// Нужно все одиночные \n Заменить на \r\n
$pattern = "/(\\n(\\r)?)|(\\r(\\n)?)/m";
$replacement = "\r\n";
$contents = preg_replace($pattern, $replacement, $contents);
  
// запишем в файл
$eml = $mailDir . "{$fileName}.eml";
file_put_contents($eml, $contents);
return;
?>

for reading emls use thunderbird or other