Установка и настройка почтового клиента ssmtp на Debian/Ubuntu

  • Дата: 20 марта 2018
Если вам требуется отправка писем с вашего сервера Debian через внешний почтовый сервер, например Gmail.com, то самый простой способ — делать это через smtp-клиент, который, называется ssmtp. Его установка и настройка не займет много времени. Нужно всего лишь выполнить несколько простых действий.

Установка

Для установки просто выполните в консоли
apt-get install ssmtp

Настройка

Первый этап настройки заключается во внесении изменений в файл /etc/ssmtp/ssmtp.conf Редактируем
nano /etc/ssmtp/ssmtp.conf
Приводим содержимое к следующему виду:
# указываем почтовый ящик, на который будет приходить почта для пользователя root
root=почта_для_root@gmail.com
# smtp-сервер, через который отправляем
mailhub=smtp.gmail.com:465

# данные для авторизации пользователя почты
AuthUser=имя_пользователя_почты
AuthPass=пароль_пользователя почты

rewriteDomain=имя_домена
hostname=hostname_нашего_сервера
FromLineOverride=YES
UseTLS=YES
Далее редактируем файл /etc/ssmtp/revaliases
nano /etc/ssmtp/revaliases
Тут указываем каким пользователям системы с каких почтовых ящиков можно слать письма
root:почта_для_root@gmail.com:smtp.gmail.com:465
www-data:почта_для_www-data@gmail.com:smtp.gmail.com:465
Почтовый ящик может быть один для нескольких юзеров. Настройка завершена.

Проверка отправки из консоли

Теперь надо проверить отправку почты с помощью консоли. Тут следует учесть, что отправить получится только из-под пользователя, которому разрешено отправлять письма (то что указывали в файле /etc/ssmtp/revaliases)
echo "Это тестовое письмо из консоли" | ssmtp -v -s адрескудаотправляем@domain.com

Отправка из PHP

Чтобы настроить отправку с помощью скриптов PHP, редактируем php.ini
PHP подключен как модуль apache
nano /etc/php/7.0/apache2/php.ini
PHP в режиме php-fpm для nginx
nano /etc/php/7.0/fpm/php.ini
Найдите в php.ini строку sendmail_path и отредактируйте ее до следующего вида:
sendmail_path = /usr/sbin/ssmtp -t