Отправка почты с сайта через smtp клиент

01.06.2016 Комментариев 0 Просмотров 951
Достаточно часто при разработке сайта сталкиваемся с ситуацией, когда 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.com
 password 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.ru
 keepbcc on
 auth on
 user user@yandex.ru
 password 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.ru
 ServerName 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');
?>
Комментарии для сайта Cackle