Инструменты пользователя

Инструменты сайта

Загрузка не удалась. Возможно, проблемы с правами доступа?

linux:sendmail-loop

Заглушка sendmail

1) Создаем скрипт, который будем эмулировать sendmail:

sudo nano /usr/bin/sendmail-www.sh

содержание:

#!/bin/sh 
prefix="/home/alexander/WWW-mail/new"
numPath="/home/alexander/WWW-mail"
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"
cat >> $name 
chmod 777 $name
/bin/true

примечание: содержание взято с форума php - как более кошерное, по моему мнению.
примечание 2: смысл скрипта очень прост, на самом деле - перенаправление стандартного потока вывода
2) делаем скрипт исполнимым:

sudo chmod +x /usr/bin/sendmail-www.sh

3) в скрипте есть две перемменных - prefix и numPath. Надо выставить на эти папки права 777 (ну, строго говоря, дать права на запись в них всем, но я не парился, тк. локальная машина, то и 777 сойдет):

sudo chmod 777 /home/alexander/WWW-mail
sudo chmod 777 /home/alexander/WWW-mail/new

4) ну вроде все хорошо, приступаем ко второй части марлезонского балета.
\\Настраиваем php, чтобы он использовал наашу заглушку для работы
открываем на редактирование php.ini:

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

(путь для Mint - ну и соответственно для Убунты)

Находим секцию [mail function]

там раскоментируем и изменяем строку с sendmail_path:

sendmail_path = /usr/bin/sendmail-www.sh

и заодно включаем логирование отправки почты из php:

mail.log = /home/alexander/WWW-mail/mail.log

5) перезагружаем apache:

sudo /etc/init.d/apache2 reload

Источник: http://www.alib.spb.ru/blog/page/linux-zaglushka-sendmail-dlja-php-mail

linux/sendmail-loop.txt · Последние изменения: 2015/04/27 12:07 (внешнее изменение)