Разделы
Veselov CV | vvShop © 2008 – 2022
Контакты
email:
skype:
Вернуться
» » » 10 - Готовим CentOS 7. Cоздание заглушки для писем

10 - Готовим CentOS 7. Cоздание заглушки для писем




- создаем shell-скрипт:
nano -w /usr/bin/fakesendmail.sh

со следующим содержимым:
#!/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

- делаем файл исполняемым
chmod +x /usr/bin/fakesendmail.sh
chmod 755 /usr/bin/fakesendmail.sh

mkdir /var/mail/sendmail
cd /var/mail/sendmail
mkdir cur && mkdir new && mkdir tmp
chmod -R 777 /var/mail/sendmail 

Найдем где храняться наши настройки для php7
php70 -i | grep "Loaded Configuration File"

- настраиваем php на работу с заглушкой в /etc/opt/remi/php70/php.ini ставим параметр
nano -w /etc/opt/remi/php70/php.ini
sendmail_path = /usr/bin/fakesendmail.sh

- перезапускаем php
systemctl restart php70-php-fpm

sestatus -b | grep -i sendmail
setsebool -P httpd_can_sendmail 1

- cоздадим файл /var/www/test.dev/3.php и дописываем функцию отправки письма
nano -w /var/www/test.dev/3.php


- обновляем страницу http://test.dev/3.php и проверяем каталог с письмом
/var/mail/sendmail/new создался letter_1.txt с отправленым нами письмом
ls /var/mail/sendmail/new
grep mail /var/log/audit/audit.log

Запускаем эти команды для selinux (в моем случае это 5 раз пока не начали отправляться заполненые письма)
grep mail /var/log/audit/audit.log | audit2allow -m mail > mail.te 
grep mail /var/log/audit/audit.log | audit2allow -M mail 
semodule -i mail.pp

Заглушка готова.
Оставить комментарий
Вверх