Письмо о регистрации, код для сброса пароля или сообщение «в квартире сработал датчик протечки» шлёт программа, и чаще всего делает это по стандартному почтовому протоколу. Настроить отправку сообщений smtp можно за несколько минут, если под рукой данные почтового сервиса. Ниже разберём, какие это данные, как вписать их в CMS, фреймворк и Home Assistant, где живут датчики Xiaomi, и сколько стоит такой сервис.

Что такое отправка сообщений через SMTP
SMTP (Simple Mail Transfer Protocol) — стандарт, по которому программа передаёт письмо почтовому серверу, а сервер доставляет его получателю. Большинство сред разработки поддерживают этот протокол без дополнительных библиотек, поэтому почтовый сервис Haskimail называет его самым быстрым способом начать отправку транзакционных писем из веб-приложения.
Этим способом обычно отправляют транзакционные письма. Это сообщения, которые система пишет сама в ответ на событие: приветствие после регистрации, сброс пароля, счёт, оповещение умного дома. Массовая рекламная рассылка — отдельная задача со своими инструментами, и в этой статье её не касаемся.
Какие данные нужны для подключения

Для подключения нужны адрес сервера, порт, способ шифрования и учётные данные. У сервиса Haskimail (haskimail.ru) они одинаковы для любого приложения, меняется только место, куда их вписать.
| Параметр | Значение у Haskimail |
|---|---|
| Сервер (хост) | smtp.haskimail.ru |
| Порт | 587 |
| Шифрование | TLS |
| Аутентификация | включена |
| Имя пользователя | API-токен сервера Haskimail |
| Пароль | тот же API-токен сервера |
Логин и пароль здесь — один и тот же API-токен сервера. Его находят в настройках своего сервера Haskimail на вкладке «API-токены», открыть её могут владельцы и администраторы аккаунта. Слово «TLS» на порту 587 у Haskimail означает шифрование через STARTTLS: в примере сервиса для Rails на этом порту стоит enable_starttls_auto, поэтому, если в настройках есть отдельные варианты STARTTLS и TLS/SSL, выбирайте STARTTLS.
Как настроить отправку в CMS и фреймворке

Во многих CMS почта через внешний сервер включается в настройках, код писать не нужно. Haskimail описывает порядок так:
- Войдите в панель администратора CMS и откройте «Настройки», затем «Email».
- В поле «Тип транспорта» выберите SMTP.
- В поле «Имя хоста» укажите smtp.haskimail.ru.
- В поле «Порт» укажите 587.
- Поставьте флажок «Использовать аутентификацию».
- В поля «Имя пользователя» и «Пароль» вставьте API-токен сервера Haskimail.
- В поле «Метод шифрования» выберите TLS, а если среди вариантов есть отдельный STARTTLS, — его.
- Проверьте и сохраните изменения.
Названия полей в разных CMS отличаются, но смысл у них один и тот же. Во фреймворках те же значения вписываются в конфигурационный файл. Для Django это пять строк в settings.py:
EMAIL_HOST = 'smtp.haskimail.ru'
EMAIL_HOST_USER = 'YOUR_HASKIMAIL_SERVER_API_TOKEN'
EMAIL_HOST_PASSWORD = 'YOUR_HASKIMAIL_SERVER_API_TOKEN'
EMAIL_PORT = 587
EMAIL_USE_TLS = True Готовые примеры для Laravel, Rails, Express и Django лежат на странице сервиса Haskimail. Кроме такого подключения у сервиса есть HTTP API и библиотеки для разных языков программирования, если приложению удобнее слать письма запросом.
Письма от умного дома Xiaomi через Home Assistant
Home Assistant умеет присылать на почту оповещения о событиях устройств Xiaomi, например датчиков, если эти устройства к нему подключены. Подключаются они через официально поддерживаемую Xiaomi интеграцию для Home Assistant (Xiaomi Home Integration), а письмо по событию Home Assistant отправляет своей интеграцией SMTP.
Эта интеграция добавляется так, как описано в документации Home Assistant:
- Откройте «Настройки» → «Устройства и службы».
- Нажмите «Добавить интеграцию» в правом нижнем углу и выберите SMTP.
- Заполните поля мастера: адрес и имя отправителя, хост smtp.haskimail.ru, порт 587, защиту соединения — starttls (почему именно он, объяснено у таблицы параметров), имя пользователя и пароль (API-токен сервера Haskimail). Переключатель проверки SSL-сертификата держите включённым.
- Добавьте первого получателя. Остальных можно добавить позже в настройках интеграции.
В поле защиты соединения Home Assistant предлагает три варианта: starttls, tls и none. В документации Home Assistant порт 587 указан вместе со starttls, и это сходится с объяснением у таблицы параметров выше. После настройки уведомление через эту интеграцию можно использовать в автоматизациях и скриптах: например, отправлять письмо, когда датчик протечки или открытия двери меняет состояние.
Сколько стоит сервис
Для проверки настройки хватит бесплатного тарифа Haskimail для разработчиков: 100 тестовых писем в месяц, без срока действия и без банковской карты. Платные тарифы начинаются с 1 000 ₽ в месяц за 10 000 писем.
| Писем в месяц | Цена в месяц | Сверх лимита, за 1000 писем |
|---|---|---|
| 10 000 | 1 000 ₽ | 50 ₽ |
| 50 000 | 2 500 ₽ | 40 ₽ |
| 125 000 | 5 000 ₽ | 30 ₽ |
| 300 000 | 8 000 ₽ | 25 ₽ |
Остаток писем на следующий месяц не переносится. Письма сверх лимита считаются в конце периода и добавляются к следующему счёту. Полная сетка, включая тарифы до 1,5 млн писем, есть на странице тарифов; платить можно картами, которые работают в России.
Как следить за доставкой писем
Найти нужное письмо помогают метаданные и теги, которые добавляются заголовками при отправке по SMTP. Заголовок X-HM-Metadata-invoice-id: 123 привяжет письмо к счёту, а X-HM-Tag: welcome-email соберёт все приветственные письма в одну группу.
Метаданные потом видны в веб-приложении Haskimail, через API и в вебхуках, которые присылают события с письмами в виде JSON на указанный адрес. История хранит письма за 45 дней с полным содержимым, так что разбирать проблему с доставкой можно по самому письму.




