Простой способ отправки почты веб-сервером

В последнее время очень часто звучит вопрос о том, как максимально просто заставить веб-сервер LAMP отправлять почту.
Самый простой способ, на мой взгляд, использовать сторонние почтовые сервисы, например gmail.com. Допустим у Вас уже есть почта на gmail.com, в нашем примере, мы будем использовать почтовый ящик "admin-mail@gmail.com" с паролем "passwd". Далее, достаточно установить на сервере пакет SSMTP и настроить в конфиге несколько строк, и так приступим.
Устанавливаем пакет:

sudo apt-get install ssmtp

Редактируем файл-конфигурации:

sudo nano /etc/ssmtp/ssmtp.conf

И доводим до такого вида (не забудьте внести свои данные):

root=admin-mail@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=admin-mail
AuthPass=passwd
UseTLS=YES
UseSTARTTLS=YES
rewriteDomain=gmail.com
hostname=localhost
FromLineOverride=YES

Редактируем строку

nano /etc/ssmtp/revaliases

и алиасим нашего рута:

root:admin-mail@gmail.com:smtp.gmail.com:587

Сохраняем, затем в php.ini (LAMP):

sudo nano /etc/php5/apache2/php.ini

или (LEMP):

sudo nano /etc/php5/fpm/php.ini

И добавляем (исправляем):

sendmail_path = /usr/sbin/ssmtp -t

Перезапускаем апача (LAMP):

sudo service apache2 restart

Или (LEMP):

sudo /etc/init.d/php5-fpm restart

После этих настроек, если Вы сделали все правильно - почта будет отправляться сервером.
P.S. встречаются случаи когда при использовании PHP 5.6 и выше не корректно отправляется почта, для решения достатьчно установить php-imap

Оцените блог: 
Средняя: 2.9 (126 оценки)

Задать вопрос