Загрушка для SendMail на PHP
Есть много реализация заглушек для PHPшного sendmail: у денвера на Perl, есть реализация на Bash, а вот именно на РНР не находил. Для человека работающего с PHP удобнее всего будет именно загрушка написанная на понятном и родном для него PHP, куда он сможет добавить необходимый ему функционал. Например что бы отправленные письма помещались сразу в базу данных, а оттуда выводились через веб-интерфейс, или по какому то критерию проверялись и в случае необходимости пересылались на реальный почтовый ящик. Единственное, свои пути подставить и можно пользоваться, код будет складывать в указанную папку файлы вида "2009-01-27_11-25-09_0.eml"
Исходный код загрушки, файл "sendmail.php"
<?php
//папка в которую будем складывать почту
define('DIR','c:/sendmail/');
//получаем из потока тело письма
$stream = '';
$fp = fopen('php://stdin','r');
while($t=fread($fp,2048))
{
if( $t===chr(0) )
break;
$stream .= $t;
}
fclose($fp);
//Сохраняем в файл
$fp = fopen(mkname(),'w');
fwrite($fp,$stream);
fclose($fp);
//Функция присвоения имени файлу
function mkname($i=0)
{
$fn = DIR.date('Y-m-d_H-i-s_').$i.'.eml';
if ( file_exists($fn) )
return mkname(++$i);
else return $fn;
}
?>
Подключение к PHP
В файле php.ini:
...
sendmail_path = "c:/php/php.exe c:/sendmail/sendmail.php"
...