Обновлено 2026-10-08

Как подключить свой SMTP к Supabase Auth

В панели Supabase откройте Authentication, раздел Emails, вкладку SMTP Settings, включите Enable Custom SMTP и укажите Sender email на своём домене, Host smtp.bulko.io, Port number 587, логин и пароль Bulko. После этого подтверждения регистрации, magic link, приглашения и сброс пароля пойдут через этот сервер, а не через ограниченный встроенный отправщик.

Серверsmtp.bulko.io
Порт587 · 465 · 2525
ШифрованиеSTARTTLS · SSL
Логин и парольиз кабинета

Что указать в Supabase

ПолеЗначение
Enable Custom SMTPВключено
Sender emailАдрес на вашем домене, например [email protected]
Sender nameНазвание приложения или компании
Hostsmtp.bulko.io
Port number587 (подходят и 465, и 2525)
Minimum interval between emailsЗначение по умолчанию или небольшое, например 60 секунд
UsernameЛогин Bulko, например smtp_xxxxxxxxxxxxxxxx
PasswordПароль SMTP из Dashboard > SMTP Access

Настройка по шагам

  1. Купите пакет на странице Bulko SMTP Relay. Логин и пароль будут в Dashboard > SMTP Access и придут на почту после оплаты.
  2. Подтвердите домен отправки в Sending Domains и добавьте DKIM TXT-запись (селектор bk1) и CNAME bnc.yourdomain.com. Supabase рекомендует SPF, DKIM и DMARC для писем Auth, а подтверждение домена позволяет выровнять все три.
  3. Откройте проект в панели Supabase и перейдите в Authentication. В разделе Emails (в боковом меню, блок Notifications) откройте вкладку SMTP Settings. В старых версиях панели этот блок был в Project Settings.
  4. Включите Enable Custom SMTP. В Sender email укажите адрес на подтверждённом домене, в Sender name название продукта.
  5. В настройках SMTP-провайдера введите Host smtp.bulko.io, Port number 587, Username и Password. Шифрование Supabase согласует сам, отдельного переключателя TLS нет. Порты 465 или 2525 используйте, только если 587 не подходит.
  6. Проверьте Minimum interval between emails. Это минимальная пауза между запросами писем, защита от спама. Оставьте её небольшой (например, 60 секунд), чтобы пользователь мог быстро запросить новую ссылку.
  7. Нажмите Save. Затем откройте Authentication > Rate Limits: после включения своего SMTP Supabase ставит низкий лимит, 30 писем в час. Поднимите значение для отправки писем под ожидаемое число регистраций, не выходя за лимит Bulko в 2 000 писем в сутки на SMTP-аккаунт.

Текст писем меняется в Authentication > Emails > Templates. Шаблоны не зависят от SMTP-сервера, поэтому текущие шаблоны подтверждения и magic link продолжат работать. Если вы управляете проектами через код, те же настройки доступны в Supabase Management API (пример ниже).

Supabase Management API: настройка своего SMTP

# Set custom SMTP for a Supabase project via the Management API
# Get a personal access token at https://supabase.com/dashboard/account/tokens
export SUPABASE_ACCESS_TOKEN="your-access-token"
export PROJECT_REF="your-project-ref"

curl -X PATCH "https://api.supabase.com/v1/projects/$PROJECT_REF/config/auth" \
  -H "Authorization: Bearer $SUPABASE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "external_email_enabled": true,
    "smtp_admin_email": "[email protected]",
    "smtp_sender_name": "Your App",
    "smtp_host": "smtp.bulko.io",
    "smtp_port": "587",
    "smtp_user": "smtp_xxxxxxxxxxxxxxxx",
    "smtp_pass": "your-bulko-smtp-password"
  }'

Проверка

Быстрее всего проверить через Authentication > Users > Add user > Send invitation на ящик, который вы читаете, или через регистрацию либо сброс пароля в приложении. Приглашение или письмо подтверждения должно прийти от вашего Sender email в течение минуты. Если письма нет, откройте логи Auth в панели (раздел Logs, Auth) и найдите SMTP-ошибку, например 535 при проблеме со входом или 554 5.7.1 при срабатывании фильтра. Откройте полученное письмо, посмотрите заголовки и убедитесь, что SPF и DKIM проходят.

Ошибки и решения

ПроблемаРешение
Error sending confirmation email или invite emailSupabase не смог отправить письмо через SMTP. Посмотрите точный ответ сервера в логах Auth и проверьте Host smtp.bulko.io, порт и учётные данные.
535 Authentication failed в логах AuthНеверный Username или Password. Вставьте их заново из Dashboard > SMTP Access: логин выглядит как smtp_xxxxxxxxxxxxxxxx, это не ваш Sender email. Другие причины: bulko.io/ru/smtp-errors/535/.
Ошибки подключения или TLS handshakeСначала используйте порт 587. Если нужен другой, 465 работает с implicit TLS, 2525 со STARTTLS. Порт 25 для отправки не предоставляется.
email rate limit exceededЭто лимит самого Supabase, а не SMTP-сервера. Поднимите лимит писем в Authentication > Rate Limits: после включения своего SMTP он стартует с 30 в час.
554 5.7.1 message rejectedКонтент-фильтр Bulko отклонил письмо. Проверьте, что в шаблонах нет вводящих в заблуждение ссылок или подделки бренда и ссылки ведут на ваш домен.
Письма подтверждения попадают в спамОтправляйте с подтверждённого домена, разделите адреса From для Auth и маркетинга, как советует Supabase, и по возможности используйте свой домен для ссылок Auth. Проверьте SPF через SPF checker Bulko.

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

Зачем Supabase свой SMTP?

Встроенный отправщик предназначен для тестов, сильно ограничен по частоте и отправляет только на адреса команды проекта. Рабочему приложению для регистраций, magic link и сброса пароля нужен собственный SMTP.

Какой порт указать в Supabase?

Стандартный выбор 587. Bulko также принимает 465 с implicit TLS и 2525 со STARTTLS.

Что значит Minimum interval between emails?

Это минимальное время между запросами писем, защита от спама и злоупотреблений. Часовой лимит объёма настраивается отдельно в Authentication > Rate Limits.

Можно ли слать маркетинговые письма через тот же SMTP?

Supabase Auth отправляет только письма авторизации. Тот же аккаунт Bulko можно использовать в бэкенде для другой почты, но Supabase советует разделять адреса From или домены для Auth и маркетинга.

Сколько это стоит?

Оплата по факту: $5 за 5 000 писем, $15 за 20 000, $30 за 50 000 или $60 за 150 000, разовый платёж, письма не сгорают. Лимит по умолчанию 2 000 писем в сутки на SMTP-аккаунт.

Получить SMTP-доступ для Supabase

Разовая оплата картой или криптой, без подписки. Неиспользованные письма не сгорают. Лимит 2 000 писем в сутки на один доступ.

SMTP Relay 5K: $5 · 5000SMTP Relay 20K: $15 · 20000SMTP Relay 50K: $30 · 50000SMTP Relay 150K: $60 · 150000
Тарифы SMTP-релея

Что можно отправлять: правила использования.