Оказалось, что в xampp нет почтового демона. А тестировать отправку почты надо..
Мы будем исходить из моих настроек расположения xampp.
Создаем скрипт /opt/lampp/etc/fakesendmail.sh
#!/bin/sh prefix="/opt/lampp/var/mail/sendmail/new" numPath="/opt/lampp/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
затем выполняем команды
sudo chown root:root /opt/lampp/etc/fakesendmail.sh sudo chmod 755 /opt/lampp/etc/fakesendmail.sh
Далее поочередно выполняем в терминале следующее
sudo mkdir /opt/lampp/var/mail/sendmail cd /opt/lampp/var/mail/sendmail sudo mkdir cur sudo mkdir new sudo mkdir tmp sudo chmod -R 777 /opt/lampp/var/mail/sendmail
теперь нужно прописал путь к нашему fakesendmail в php.ini
у меня он лежит тут /opt/lampp/etc/
пропишем в нем строку
sendmail_path = /opt/lampp/etc/fakesendmail.sh
теперь сделаем то, о чем я лично ранее даже не подозревал: настроим сбор почты, чтобы наши письма мы видели человеческим способом, а не так, как я раньше на денвере – тупо открывая файлы в папке.
Для этого нам понадобится почтовая программа Evolution
В ней создадим новую учетную запись. Указываем любой email, например, xampp@text.com. Далее следует выбрать тип сервера «Почтовые каталоги в формате Maildir» и в качестве пути к каталогу с почтой нужно указать «/opt/lampp/var/mail/sendmail». В диалоговом окне «Отправка почты» нужно указать тип сервера «Sendmail».
Если xampp был запущен – перезапустите его. Напишите какой нибудь скрипт, отправляющий почту
пример с php.net
<?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>
запустите Evolution и проверьте почту, должно получиться такое