Доброго времени суток, уважаемый читатель itist.ru
В этой статье я расскажу как настроить почту на своем сервере.
Для примера я буду использовать SMTP сервис яндекса из pdd.yandex.ru (почта для домена) или как он теперь называется, Yandex.Connect
Сервер который был взят в качестве примера будет на CentOS
И так, приступим…
Устанавливаем MSMTP
yum install msmtp
теперь его нужно сконфигурировать
в папке /root/ находим файл (если работает из под рута)
.msmtprc
Если не из под рута, то пишем в консоли
vi ~/.msmtprc
и пишем в нем следующее содержимое
account yandex
logfile /var/log/msmtp.log
host smtp.yandex.ru
port 587
from #EMAIL_ОТПРАВИТЕЛЯ#
keepbcc on
auth on
user #LOGIN#
password #PASSWORD#
tls on
tls_starttls on
tls_certcheck off
немного поясню
#EMAIL_ОТПРАВИТЕЛЯ#
мыло с которого по умолчанию будет отправка сообщений например test@itist.ru
#LOGIN#
логин пользователя на почте, например test@itist.ru
#PASSWORD#
пароль от учётной записи
во второй строке у нас указан лог файл, создадим его
touch /var/log/msmtp.log
и установим права
chown apache:apache /var/log/msmtp.log
попробуем отправить сообщение в дебаг режиме
echo «test message» | msmtp —debug -a yandex disainer@itist.ru
если сообщение пришло, вы на верном пути…
Копируем конфиг
cp -p /root/.msmtprc /etc/.msmtp_php
и настраиваем права
chown apache:apache /etc/.msmtp_php
Открываем файл php.ini
В нем находим sendmail_path
и устанавливаем в следующее значение
sendmail_path = «/usr/bin/msmtp -C /etc/.msmtp_php —logfile /var/log/msmtp.log -a yandex -t»
сохраняем и перезапускаем апач
service httpd restart
теперь пробуем отправить сообщение через PHP
php -r «mail(‘disainer@itist.ru’, ‘Test’, ‘Test’);»
В принципе на этом работа закончена, и вам должно придти письмо с сервера. Если письмо не пришло — изучайте логи.
Далее (если все работает) пробуйте отправить данные из PHP страницы на сервере, т.к. бывает что из консоли работает, а из файла нет.
Если из файла работать не будет, возможно есть еще какой то клиент, конфиг и т.д. изучайте логи.