В n8n отправлять через fmailer можно двумя способами. Узел Send Email работает по SMTP, и ему нужна только учётка. Узел HTTP Request вызывает REST API — это шаблоны, безопасные повторы и идентификатор письма для отслеживания. Оба способа используют один и тот же токен домена.
| Параметр | Значение |
|---|---|
| SMTP-хост | smtp.fmailer.ru |
| Порт | 587 |
| Шифрование | STARTTLS (соединение переводится в TLS до авторизации) |
| Логин | Логин токена вашего домена |
| Пароль | Пароль этого токена — показывается один раз, при создании |
Добавьте узел Send Email, откройте Credential to connect with и создайте новую учётку SMTP:
| Поле | Значение |
|---|---|
| User | Логин токена вашего домена |
| Password | Пароль этого токена |
| Host | smtp.fmailer.ru |
| Port | 587 |
| SSL/TLS | Выключен |
| Disable STARTTLS | Выключен |
| Client Host Name | Оставьте пустым |
465. На порту 587 оставьте выключенным: n8n сам переведёт соединение в TLS через STARTTLS, и именно это защищает пароль. Если вдобавок включить Disable STARTTLS, пароль токена уйдёт по сети открытым текстом. | Параметр | Значение |
|---|---|
| Operation | Send |
| From Email | Магазин <noreply@mail.example.ru> — на подтверждённом домене |
| To Email | Выражение вроде {{ $json.email }}; несколько адресов — через запятую |
| Subject | Текст или выражение |
| Email Format | Both — HTML и текстовая версия |
| Options | Reply To для ответов и выключенный Append n8n Attribution |
По адресу в From Email проверяются DKIM, SPF и DMARC. Если подставить туда адрес клиента — скажем, из заявки с сайта, — письмо отклонят; для него есть Reply To.
Укажите в To Email свой адрес и выполните узел отдельно. При ошибке в выводе узла будет ответ SMTP-сервера — по нему видно, что не так: порт, шифрование или учётные данные.
Настройте узел HTTP Request: MethodPOST, URLhttps://api.fmailer.ru/external/send_email_simple/, Authentication — None, Send Body включён, Body Content Type — JSON, Specify Body — Using JSON. Переключите поле JSON в режим выражения и вставьте:
{
"to": [{{ JSON.stringify($json.email) }}],
"subject": {{ JSON.stringify($json.subject) }},
"body": {{ JSON.stringify($json.html) }},
"sender": "Магазин <noreply@mail.example.ru>",
"idempotency_key": {{ JSON.stringify("order-" + $json.orderId) }},
"auth": {
"username": "<логин токена>",
"password": "<пароль токена>"
}
}JSON.stringify заключает каждое значение в кавычки и экранирует его, поэтому HTML с кавычками и переносами строк не сломает тело запроса. Токен передаётся в теле, потому что так авторизуется API отправки: хранилище учёток n8n здесь не поможет, и прочитать пароль сможет любой, кто может редактировать или экспортировать сценарий. idempotency_key защищает от повторной отправки: запрос с тем же ключом вернёт первый результат. Остальные поля — в описании API.
У узла есть Import cURL: если вставить эту команду, метод, адрес, заголовок и тело заполнятся сами.
curl -X POST https://api.fmailer.ru/external/send_email_simple/ \
-H "Content-Type: application/json" \
-d '{"to": ["you@example.ru"], "subject": "Проверка", "body": "<p>Работает.</p>",
"sender": "Магазин <noreply@mail.example.ru>",
"auth": {"username": "<логин токена>", "password": "<пароль токена>"}}'| Симптом | Причина и решение |
|---|---|
Таймаут или Greeting never received | SSL/TLS выключен на порту 465 либо порт заблокирован на вашем сервере с n8n — попробуйте 8587 или 8465. |
wrong version number | SSL/TLS включён на порту 587. Выключите его. |
535 — ошибка авторизации | Неверный логин или пароль токена. |
550 from must be equal to … | From Email не на подтверждённом домене. |
HTTP 400 Invalid username or password | Неверный токен в auth тела запроса. |
HTTP 400 JSON parse error | Значение подставлено без JSON.stringify или поле не в режиме выражения. |
| Письма в спаме | У нового домена ещё нет истории отправки — смотрите раздел о репутации. |
Для порта 587 — нет: соединение начинается без шифрования и переводится в TLS командой STARTTLS, это n8n делает сам, если не включён Disable STARTTLS. Для порта 465 — да: там TLS начинается с первого байта. Перепутанный переключатель — обычная причина ошибки рукопожатия или таймаута.
Неверные User или Password в учётке. User — это логин токена вашего домена, а не адрес аккаунта, Password — пароль этого токена, который показывается один раз при создании.
Да, узел Send Email принимает формат «Имя <адрес>». Адрес должен быть на подтверждённом домене, иначе письмо будет отклонено.
Узел Send Email проще и хранит токен в зашифрованном хранилище учёток n8n. HTTP Request даёт шаблоны из панели, ключ идемпотентности для безопасных повторов и ответ с идентификатором письма, который приходит во всех вебхуках доставки.
В узле Send Email добавьте опцию Append n8n Attribution и выключите её.
В настройках узла (Settings) включите Retry On Fail и задайте Max Tries и Wait Between Tries. В HTTP Request передавайте idempotency_key — тогда повтор после таймаута не отправит письмо второй раз.