Достаточно часто при разработке сайта сталкиваемся с ситуацией, когда IP адрес сервера попадает в спам листы популярных почтовых сервисов и письма с сайта попросту не доходят до адресата. К сожалению, мольбы об исключении IP адреса из black-листа, зачастую, бывают не услышаны и дабы не тянуть котика за причинное место мы используем маленького консольного друга - smtp клиент "MSMTP".
Устанавливаем консольный smtp клиент
yum install msmtpОчень удобно пользоваться простым консольным редактором nano, установим его если этого не делали раньше
yum install nanoСоздаем файл настроек
nano /etc/msmtprcДля отправки писем с серверов Gmail добавим следующую конфигурацию
account gmail # название аккаунта logfile /var/log/msmtp.log host smtp.gmail.com port 587 from user@gmail.com # почтовый адрес с которого будет приходить письма, обязательно должно совпадать с параметром user auth on user user@gmail.compassword password tls on tls_starttls on tls_certcheck off keepbcc onДля серверов Яндекс подойдет конфиг:
account yandex logfile /var/log/msmtp.log host smtp.yandex.ru port 587 from user@yandex.rukeepbcc on auth on user user@yandex.rupassword password tls on tls_starttls on tls_certcheck offСледующим шагом нам нужно настроить отправку почты для определенного сайта (виртуального хоста). Для этого отредактируем файл /etc/httpd/conf/httpd.conf (для ISP Manager файл будет находится в директории /etc/httpd/conf/vhosts/ с названием домена)
<VirtualHost *:80> ServerAdmin webmaster@site.ruServerName site.ru DocumentRoot /var/www/site.ru/ DirectoryIndex index.html index.php # Добавляем параметр, для замены стандартного почтового агента на msmtpОсталось лишь создать простой скрипт отправки тестового сообщения
# Внимание, параметр «yandex» нужно заменить на название аккаунта учетной записи, который был внесен в конфигурационный файл /etc/msmtprc php_admin_value sendmail_path "/usr/bin/msmtp -a yandex -t" </VirtualHost>
test@test.ru', 'Test', 'Test'); ?>