В Ubuntu изначально не установлены пакеты для отправки email-ов. Рассмотрим способ, который сохраняет сообщения в папку в отдельные файлы.
1. Требуется создать shell-скрипт в /usr/bin/f_mail.sh:
sudo nano /usr/bin/f_mail.sh
В который внесем код:
#!/bin/sh
prefix="/var/www/sendmail/new"
numPath="/var/www/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.html"
while read line
do
echo $line >> $name
done
chmod 777 $name
/bin/true
/var/www/sendmail/new - путь, куда будут сохраняться файлы с мэйлами.
/var/www/sendmail - общая папка для работы скрипта.
2. Дать права на скрипт (возможно не для всех это требуется):
sudo chown root:root /usr/bin/f_mail.sh
sudo chmod 755 /usr/bin/f_mail.sh
3. Создадим структуру папок требуемую для работы:
sudo mkdir /var/www/sendmail/new && cd /var/www/sendmail/new && sudo mkdir cur && sudo mkdir new && sudo mkdir tmp && sudo chmod -R 777 /var/www/sendmail/new
4. Пропись в php.ini:
v5.6:
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/cgi/php.ini
v7.2:
/etc/php/7.2/apache2/php.ini
/etc/php/7.2/cli/php.ini
/etc/php/7.2/cgi/php.ini
В нужной версии, в файлах php.ini добавить в конец код или найти строку ;sendmail_path и заменить на:
sendmail_path = /usr/bin/f_mail.sh