Документация / Tilda

Отправка писем с Тильды через SMTP

Тильда умеет отправлять письма через внешний SMTP-сервер в трёх местах: уведомления покупателям о заказах, письма пользователям личного кабинета и письма клиентам из Tilda CRM. Заявки с форм в этот список не входят — их отправляет сама Тильда, и свой сервер там не подключить.

Ниже — настройка каждого сценария с fmailer и обходной путь для форм, если заявки должны уходить с вашего домена.

ℹ
Логин и пароль можно получить на странице токенов домена.

Параметры подключения

ПараметрЗначение
SMTP-хостsmtp.fmailer.ru
Порт465
ШифрованиеSSL/TLS (соединение шифруется сразу)
ЛогинЛогин токена вашего домена
ПарольПароль этого токена — показывается один раз, при создании
ℹ
Каждый режим доступен и на высоком порту: 8465 (SSL/TLS), 8587 (STARTTLS) и 8025 (без шифрования). Многие хостинги и облака блокируют исходящие 25, 465 и 587 — если соединение обрывается по таймауту, используйте соответствующий высокий порт.
ℹ
Во всех примерах справки Тильды используется пара «порт 465 + SSL». Указывайте её же: при такой паре соединение шифруется сразу, и перепутать режим шифрования не получится.

Уведомления покупателям о заказах

Перейдите в Настройки сайта → Платежные системы → Общие настройки платежных систем и в блоке уведомлений покупателей выберите способ отправки «Почтовый сервер»:

ПолеЗначение
Адрес исходящего почтового сервера (SMTP)smtp.fmailer.ru
Порт465
Тип защиты соединенияSSL
ЛогинЛогин токена вашего домена
ПарольПароль этого токена
Email отправителяnoreply@mail.example.ru — на подтверждённом домене
Тема письма и шаблон уведомления Текст письма; доступны переменные {{order_number}}, {{amount}}, {{order_date}}, {{order_details}} и поля формы заказа

Уведомление уходит покупателю после успешной оплаты или при оформлении заказа с платёжной системой «Наличные». Сохраните настройки и нажмите ссылку отправки тестового письма под кнопкой сохранения — оно придёт на почту, к которой привязан аккаунт Тильды.

Письма личного кабинета

Личный кабинет шлёт письма при регистрации или ручном добавлении пользователя, добавлении в группу, восстановлении и смене пароля, смене email — а если включён вход по одноразовому коду, то и сам код при каждом входе. Для таких писем доставка критична: не пришёл код — пользователь не вошёл.

Откройте Настройки личного кабинета → Дополнительные → Настройки почтового сервера и в поле «Сервис доставки писем» выберите «Почтовый сервер». Поля те же, что и для заказов: сервер smtp.fmailer.ru, порт 465, тип защиты SSL, логин и пароль токена, email отправителя на подтверждённом домене.

⚠
Сервер, подключённый в платёжных системах, личный кабинет не использует, и наоборот. Заполните оба раздела, если пользуетесь обоими.

Письма клиентам из заявок в Tilda CRM настраиваются отдельно: в настройках листа CRM, на вкладке «Отправка писем», выберите SMTP-сервер и укажите те же параметры.

Формы: почему SMTP не подключить и что делать

Заявки с форм приходят через приёмник «Email» в Настройки сайта → Формы. Эти письма отправляет Тильда со своих серверов: поля для своего SMTP там нет, и адрес отправителя на вашем домене не выставить. Для уведомлений владельцу сайта этого обычно хватает.

Если заявка должна приходить с вашего домена, попадать в общий ящик отдела с правильным Reply-To или вызывать ответ клиенту, подключите к форме Webhook (Настройки сайта → Формы → Webhook) и отправляйте письмо своим скриптом. Как Тильда обращается к вебхуку:

  • данные формы приходят методом POST, как обычная HTML-форма, плюс служебные поля tranid (номер заявки) и formid;
  • при подключении приходит проверочный запрос test=test;
  • скрипт должен ответить кодом 200 за пять секунд, иначе Тильда сделает ещё две попытки с интервалом в минуту;
  • к запросу можно добавить API-ключ — имя и значение задаёте вы, передать его можно в POST-данных или в заголовке.

Скрипт ниже отправляет заявку через наш API: это один HTTP-запрос без библиотек, и он укладывается в пять секунд. Имена полей Name, Email, Phone — это «Переменные» полей формы; если вы их меняли, поправьте и в коде. API-ключ в настройках вебхука назовите secret и передавайте в POST.

tilda-webhook.phpphp
<?php
// tilda-webhook.php — принимает заявку от Тильды и отправляет письмо через API
const TOKEN_LOGIN = 'token-login@mail.example.ru';
const TOKEN_PASS  = 'token-password';
const WEBHOOK_KEY = 'длинная-случайная-строка'; // API-ключ из настроек вебхука

$data = $_POST;

// Проверочный запрос, который Тильда шлёт при подключении
if (($data['test'] ?? '') === 'test') {
    exit('ok');
}

if (($data['secret'] ?? '') !== WEBHOOK_KEY) {
    http_response_code(403);
    exit;
}

$name  = trim($data['Name'] ?? '');
$phone = trim($data['Phone'] ?? '');
$email = filter_var($data['Email'] ?? '', FILTER_VALIDATE_EMAIL);

$body = '<p><b>Имя:</b> ' . htmlspecialchars($name) . '</p>'
      . '<p><b>Телефон:</b> ' . htmlspecialchars($phone) . '</p>'
      . '<p><b>Email:</b> ' . htmlspecialchars((string) $email) . '</p>';

$payload = [
    'to'      => ['sales@mail.example.ru'],
    'subject' => 'Заявка с сайта',
    'body'    => $body,
    'sender'  => 'Сайт <noreply@mail.example.ru>',
    'auth'    => ['username' => TOKEN_LOGIN, 'password' => TOKEN_PASS],
];
if ($email) {
    $payload['reply_to'] = $email; // «Ответить» в почте уйдёт клиенту
}
if (!empty($data['tranid'])) {
    $payload['idempotency_key'] = 'tilda-' . $data['tranid']; // повтор не создаст дубль
}

$ch = curl_init('https://api.fmailer.ru/external/send_email_simple/');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode($payload, JSON_UNESCAPED_UNICODE),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 4, // Тильда ждёт ответа не дольше пяти секунд
]);
curl_exec($ch);
curl_close($ch);

echo 'ok';
ℹ
Если ответ задержится, Тильда повторит запрос. Номер заявки tranid передаётся как idempotency_key, поэтому повторный запрос вернёт уже созданное письмо, а не отправит второе.

Проверка

Для заказов и личного кабинета отправьте тестовое письмо из настроек. Для формы отправьте заявку на опубликованной странице. Каждое письмо появится в разделе писем личного кабинета fmailer со статусом доставки.

Разбор ошибок

СимптомПричина и решение
Тестовое письмо не отправляется Не совпадают порт и тип защиты. Нужна пара 465 + SSL.
Ошибка авторизацииНеверный логин или пароль токена.
Покупатель не получил письмо Оплата не завершилась. Уведомление уходит только после успешной оплаты или при выборе «Наличных».
Письма кабинета идут не с вашего адреса SMTP подключён только в платёжных системах. Выберите «Почтовый сервер» и в настройках личного кабинета.
Webhook не подключается Скрипт не вернул 200 на запрос test=test: URL недоступен снаружи или PHP завершился с ошибкой.
Письма в спаме Email отправителя не на подтверждённом домене. Замените его на свой.

Частые вопросы

Можно ли отправлять заявки с форм Тильды через свой SMTP?

Нет. Письма с заявками отправляет сама Тильда, и в настройках приёмника «Email» нет полей для своего почтового сервера. SMTP в Тильде подключается только для уведомлений покупателям о заказах, писем личного кабинета и писем клиентам из Tilda CRM. Если заявка должна уходить с вашего домена, подключите к форме Webhook и отправляйте письмо своим скриптом через SMTP или API.

Где в Тильде настройки SMTP?

Для уведомлений о заказах — Настройки сайта → Платежные системы → Общие настройки платежных систем, способ отправки «Почтовый сервер». Для личного кабинета — Настройки личного кабинета → Дополнительные → Настройки почтового сервера, в поле «Сервис доставки писем» выберите «Почтовый сервер». Эти настройки независимы: подключить сервер нужно в обоих местах.

Какой порт и тип защиты указывать в Тильде?

Порт 465 и тип защиты SSL — именно эту пару Тильда приводит во всех примерах своей справки. При порте 465 соединение шифруется с первого байта, поэтому ошибиться с режимом шифрования сложнее, чем на 587.

Можно ли указать отправителем адрес на Яндексе, Mail.ru или Gmail?

Нет — справка Тильды прямо предупреждает, что с такими адресами уведомления работают некорректно. Подпись DKIM и запись SPF опубликованы на вашем домене, и к чужому адресу они не относятся, поэтому DMARC не сходится. Заведите адрес вроде noreply@ на подтверждённом домене.

Почему покупатель не получил письмо о заказе?

Тильда отправляет уведомление только после успешной оплаты или при выборе платёжной системы «Наличные». Если оплата не завершилась, письма не будет вовсе. Если оплата прошла, найдите письмо в разделе писем личного кабинета: если его там нет, Тильда не смогла подключиться к серверу — отправьте тестовое письмо из настроек и проверьте логин, пароль и порт.

Как отправить клиенту автоответ после заявки с формы?

Штатными средствами Тильды — никак: форма пишет только владельцу сайта. Автоответ отправляет ваш скрипт на Webhook, адрес клиента берётся из поля Email. Отвечайте фиксированным текстом без данных из формы: иначе форму можно использовать, чтобы рассылать с вашего домена произвольные письма на чужие адреса.

SendGrid или свой SMTP?

Тильда предлагает для уведомлений оба варианта, но сама отмечает, что SendGrid ограничил работу в России. Свой SMTP на подтверждённом домене решает ту же задачу и не зависит от стороннего аккаунта.

Что дальше