Отправка почты на XAMPP (Реализация-заглушка)

В данной небольшой пошаговой инструкции представлено описание процесса настройки заглушки для функции отправки писем по электронной почте в сборке веб-сервера XAMPP.

Заглушка sendmail на XAMPP

1. Во-первых создаем новый каталог. Для наглядности назовем его blank_mail.

2. Во-вторых создадим там одноименный php-скрипт со следующим содержимым:

<?php
# Каталог, где мы будем хранить нашу
# электронную корреспонденцию:
define("DIR", "/opt/lampp/tmp/blank_mail/");

# Присваиваем имя файлу, функция:
function mkname($j = 0) {
  $file = DIR.date('Y-m-d_H-i-s_'). "$i.eml";
  if ( file_exists($file) )
    return mkname(++$j);
  return $file;
}

# Извлекаем содержимое письма из потока:
$stream = '';
$fp = fopen('php://stdin','r');
while ( $t = fread($fp,2048) ) :
  if ( $t === chr(0) )
    break;
  $stream .= $t;
endwhile;
fclose($fp);

# Сохраняем содержимое письма в файл:
$file = fopen(mkname(),'w');
fwrite($file,$stream);
fclose($file);
?>

3. В-третьих создаем упомянутый в вышеприведенном коде каталог «/opt/lampp/tmp/blank_mail/». Разрешаем в него запись.

4. В-четвертых открываем конфигурационный файл PHP — php.ini. К примеру, если вы используете ОС семейства Linux, тогда он будет лежать в каталоге «/opt/lampp/etc».

Итак, ищем параметр с именем sendmail_path и прописываем в его значении путь до скрипта, который мы создали на втором шаге. К примеру вот так:

sendmail_path = /opt/lampp/bin/php /opt/lampp/blank_mail/blank_mail.php

5. Наконец перезапускаем XAMPP командой из терминала/командной строки:

sudo /opt/lampp/lampp restart

Итоги:

После описанных манипуляций все отправленные вами письма будут «оседать» в каталоге «/opt/lampp/tmp/blank_mail/». Формат имени файла при этом будет следующим: год-месяц-число-час-минута-секунда_.eml.

Опубликовано 5-01-2013 в 16:51


Комментариев к записи: 1

  1. Александр:

    Спасибо, полезная статья. Единственное в sendmail_path = /opt/lampp/bin/php /opt/lampp/blank_mail/blank_mail.php ошибка, после lampp/ идет еще tmp ))).
    В моем xampp папки tmp нет вместо неё temp.
    Доступ расшарить надо как для /blank_mail так и для папки tmp.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты