Nextcloud отправляет письма для сброса пароля, уведомления о том, что с вами поделились файлом, и сводки об активности. Сразу после установки передавать их некуда, и письма молча не уходят. Подключение к SMTP-релею — одна форма в параметрах сервера или несколько ключей в config.php, если вы управляете сервером из консоли. Ниже — подключение к fmailer.
| Параметр | Значение |
|---|---|
| SMTP-хост | smtp.fmailer.ru |
| Порт | 587 |
| Шифрование | STARTTLS (соединение переводится в TLS до авторизации) |
| Логин | Логин токена вашего домена |
| Пароль | Пароль этого токена — показывается один раз, при создании |
Нажмите на аватар → «Параметры сервера» → «Основные параметры» и прокрутите до раздела «Почтовый сервер»:
| Поле | Значение |
|---|---|
| Способ отправки | SMTP |
| Шифрование | Без шифрования/STARTTLS |
| Адрес отправителя | noreply @ mail.example.ru — на подтверждённом домене |
| Адрес сервера | smtp.fmailer.ru : 587 |
| Аутентификация | Включена — «Требуется аутентификация» |
| Логин | Логин токена вашего домена |
| Пароль | Пароль этого токена |
465. SSL на порту 587 даёт ошибку рукопожатия. Форма записывает значения в config/config.php. Обратите внимание: mail_from_address — только часть адреса до @:
<?php
// config/config.php — добавьте ключи в существующий массив $CONFIG
$CONFIG = array (
// ...
'mail_smtpmode' => 'smtp',
'mail_smtphost' => 'smtp.fmailer.ru',
'mail_smtpport' => 587,
'mail_smtpsecure' => '', // '' = STARTTLS, если сервер его предлагает; 'ssl' = порт 465
'mail_smtpauth' => true,
'mail_smtpname' => '<логин токена>',
'mail_smtppassword' => '<пароль токена>',
'mail_from_address' => 'noreply', // только часть до @
'mail_domain' => 'mail.example.ru',
);Те же ключи можно задать командой occ:
# Запускайте от пользователя веб-сервера в каталоге Nextcloud
sudo -u www-data php occ config:system:set mail_smtpmode --value=smtp
sudo -u www-data php occ config:system:set mail_smtphost --value=smtp.fmailer.ru
sudo -u www-data php occ config:system:set mail_smtpport --value=587 --type=integer
sudo -u www-data php occ config:system:set mail_smtpsecure --value=""
sudo -u www-data php occ config:system:set mail_smtpauth --value=true --type=boolean
sudo -u www-data php occ config:system:set mail_smtpname --value="<логин токена>"
sudo -u www-data php occ config:system:set mail_smtppassword --value="<пароль токена>"
sudo -u www-data php occ config:system:set mail_from_address --value=noreply
sudo -u www-data php occ config:system:set mail_domain --value=mail.example.ru Официальный образ nextcloud берёт настройки почты из переменных окружения, если заданы все три: SMTP_HOST, MAIL_FROM_ADDRESS и MAIL_DOMAIN. Для порта 587 не задавайте SMTP_SECURE, для порта 465 поставьте в неё ssl.
# docker-compose.yml — официальный образ nextcloud
services:
app:
image: nextcloud
environment:
SMTP_HOST: smtp.fmailer.ru
SMTP_PORT: "587" # укажите явно: по умолчанию 25
SMTP_NAME: "<логин токена>"
SMTP_PASSWORD: "<пароль токена>"
MAIL_FROM_ADDRESS: noreply # только часть до @
MAIL_DOMAIN: mail.example.ru Тестовое письмо уходит на ваш собственный адрес, поэтому сначала укажите его в личных настройках, в разделе «Личная информация». Затем вернитесь в «Почтовый сервер» и отправьте тестовое письмо. При ошибке Nextcloud покажет ответ SMTP-сервера; для подробностей включите 'mail_smtpdebug' => true в config.php, понизьте уровень журнала до отладки и смотрите nextcloud.log.
| Симптом | Причина и решение |
|---|---|
| Не удаётся установить соединение | Хостинг блокирует порт — используйте 8587 с «Без шифрования/STARTTLS» или 8465 с SSL. |
Ошибка рукопожатия, wrong version number | На порту 587 выбран SSL. Переключите на «Без шифрования/STARTTLS». |
| Ошибка авторизации (535) | Неверный логин или пароль токена либо не включена аутентификация. |
| Сервер отклоняет отправителя | В mail_domain не ваш подтверждённый домен. |
| Форма не сохраняется | config.php недоступен для записи или настройки заданы переменными SMTP_* в Docker. |
| Тест проходит, уведомления опаздывают | Фоновые задания в режиме AJAX. Переключите на Cron. |
Нажмите на аватар → «Параметры сервера» → «Основные параметры» и прокрутите до раздела «Почтовый сервер». Те же значения хранятся в config/config.php в ключах mail_*: там их и правят, если форма недоступна для изменения.
«Без шифрования/STARTTLS». Вариантов всего два: этот, при котором соединение переходит на TLS командой STARTTLS, если сервер её предлагает, и SSL — шифрование с первого байта для порта 465. Отдельного пункта STARTTLS нет, поэтому «без шифрования» на порту 587 — всё равно зашифрованное соединение.
Тестовое письмо уходит на адрес вашей учётной записи. Сначала укажите его в личных настройках, в разделе «Личная информация», затем вернитесь к «Почтовому серверу» и отправьте тест.
В mail_from_address пишется только часть адреса до @, например noreply, а в mail_domain — часть после неё. Вместе они дают адрес отправителя. В mail_domain должен стоять подтверждённый домен, иначе письмо не пройдёт выравнивание DKIM и SPF.
Уведомления и сводки об активности отправляют фоновые задания, а не сам момент события. В режиме AJAX они выполняются только пока кто-то открыл Nextcloud в браузере. Переключите «Фоновые задания» в «Основных параметрах» на системный Cron.
Сохранение не проходит, если файл config/config.php недоступен для записи пользователю веб-сервера, а при включённом config_is_read_only форма заблокирована целиком. В официальном Docker-образе источник настроек — переменные SMTP_*: меняйте их и пересоздавайте контейнер.