Отправка почты на 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>

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

PORNOSEKSXXX

  • Администратор: к записи Нажмите на кнопку Скачать в статье. »
  • маша: к записи Ничего не понятно для новичка без CSS кода. Пожалу »
  • Администратор: к записи Почитайте информацию на http://javascript.ru/ »
  • Стас: к записи У меня вся страница пихается в #ajax-container »
  • id49788920: к записи Скрипт обрезает теги. Это возможно как-нибуть испр »
  • id49788920: к записи $(document).ready(function() { $(".c »
  • noob: к записи Попробовал всавить сниппет в шаблон, появился белы »

Статистика спама

Akismet заблокировал 42 850 спамеров

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

Твиты пользователя @red_book_cms