Заглушка Sendmail для xampp в Linux

13. 06. 2013

Заглушка Sendmail. Возникла как-то у меня потребность, проверить работоспособность почты, а как проверять если сайт на localhoste и нужно отправлять письма на ложные адреса? Нужна заглушка sendmail для linux, порывшись в интернете все таки нашел пару решений. Меня интересует именно для LINUX, вот и оно на habrahabr. Решил переписать и кое-что добавить от себя:

Заглушка Sendmail для Linux

Заглушка Sendmail для Linux

Сперва нам нужно создать скрипт, заглушка sendmail в linux. Открываем любой текстовый редактор из-под root и вставляем следующий код.

__________

#!/bin/sh
prefix="/var/mail/sendmail/new"
numPath="/var/mail/sendmail"
if [ ! -f $numPath/num ]; then
echo "0" > $numPath/num
fi
num=`cat $numPath/num`
num=$(($num + 1))
echo $num > $numPath/num
name="$prefix/letter_$num.txt"
while read line
do
echo $line >> $name
done chmod 777 $name
/bin/true

Сохраняем наш только что созданный скрипт, в папку «/usr/bin», под любым угодным для вас именем, например send.sh, и делаем наш скрипт исполняемым:

$ sudo chmod +x /usr/bin/send.sh

После чего нам нужно создать папку «sendmail» в каталоге «/var/mail», а в папке «sendmail» создать подкаталоги {cur,new,tmp} и дать им права на запись:

$ sudo mkdir /var/mail/sendmail
$ sudo mkdir /var/mail/sendmail{cur, new, tmp}
$ sudo chmode -R 777 /var/mail/sendmail

В папку «/var/mail/sendmail/new» будут складываться все наши письма, отправленные с сайта.

Теперь, чтобы все заработало, нам осталось подправить файл php.ini, который находиться по адресу:

$ sudo nano /etc/php5/apache2/php.ini

— если у вас apache/php/mysql установлены отдельно.

$ sudo nano /opt/lampp/etc/php.ini 

— если у вас установлена сборка xampp (как в моем случае).

В php.ini, при помощи поиска, находим такую строку и правим ее:

;sendmail_path =

Убираем комментарий (;) и после знака равенства, добавляем /user/bin/send.sh У вас должно получиться следующие:

sendmail_path = /usr/bin/send.sh

На этом все, заглушка sendmail для xampp в Linux установлена и настроена, теперь осталось перезагрузить и можно пользоваться.

Надеюсь статья «заглушка sendmail для xampp в Linux» была полезна.

  • Nick

    Спасибо за статью, очень помогла!

    • root

      Пожалуйста. Рад, что статья, вам помогла.

  • Команды не точны

  • Для XAMPP путь к php.ini такой — /opt/lampp/etc/php.ini

  • Что-то у меня савсэм не пошло

  • У меня лично заработал этот вариант — docs.loc/xampp.html#sendmail