Настройка отправки почты из PHP (apache) через SMTP сервисы

Доброго времени суток, уважаемый читатель 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 страницы на сервере, т.к. бывает что из консоли работает, а из файла нет.

Если из файла работать не будет, возможно есть еще какой то клиент, конфиг и т.д. изучайте логи.

About the author

Disainer

View all posts

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.