При развертывании Nextcloud на новом сервере можно столкнутся с распространенной проблемой: несмотря на корректную работу почтового клиента, системные уведомления не отправляются. Данная ситуация возникает из-за особенностей работы почтовой системы в Nextcloud и требует специального решения для полноценной функциональности сервиса
Почему это важно:
Без установленного MTA (или ssmtp) не будут работать:
- Сброс пароля
- Приглашения пользователям
- Системные уведомления
- Тестовые письма
Mail app продолжит работать независимо от наличия MTA
Почему возникает проблема?
Nextcloud использует два механизма отправки писем:
- Mail app — работает напрямую через SMTP
- Системные уведомления — используют PHP-функцию
mail(), которая требует наличия MTA (Mail Transfer Agent)
Проверка наличия MTA
Выполните в терминале следующие команды:
which sendmail
which ssmtp
which msmtp
which postfix
which exim4
Решение: установка ssmtp
ssmtp — легкий и безопасный клиент для пересылки почты. Установка производится командой:
apt-get update && apt-get install ssmtp -y
Настройка конфигурации
Отредактируйте файл /etc/ssmtp/ssmtp.conf:
root=ваш_email@домен.ru
mailhub=smtp.ваш_домен.ru:587
AuthUser=ваш_email@домен.ru
AuthPass=ваш_пароль
UseSTARTTLS=YES
rewriteDomain=ваш_домен.ru
hostname=ваш_хост.ru
FromLineOverride=YES
Заключительный этап
- Перезапускам веб-сервер:
systemctl reload apache2 - Проверяем отправку через интерфейс Nextcloud:
- Перейдите в Настройки - Параметры сервера
- Выберите раздел Основные параметры → Почтовый сервер
- Нажмите Отправить сообщение
Таким образом установка ssmtp позволила устранить проблему с отправкой системных уведомлений и обеспечить полноценную работу всей почтовой инфраструктуры Nextcloud.
