Skip to content

Email Inbox (receiving emails as notifications)

Email Inbox — это «почтовый ящик», у которого вместо вашего IMAP — канал Notifly. Создав ящик, вы получаете уникальный email-адрес: всё, что на него приходит, превращается в обычное уведомление с заголовком письма и его телом и доставляется во все ваши клиенты (web, Android, desktop) как любое другое push-сообщение.

Это удобно, когда внешняя система умеет только email и научить её ходить в HTTP — слишком дорого:

  • алёрты от хостингов, биллингов, RBL и регистраторов;
  • уведомления от CI/CD, системы бэкапов, сторонних SaaS;
  • transactional email от вашего же бекенда (заказы, регистрации) без отдельного канала push;
  • алёрты от старых железных мониторингов, которые умеют только SMTP.
SMTP sender ──► <local>+<alias>@<domain>
Yandex Cloud Mail Trigger
Cloud Function notifly-email
│ 1. extract alias from address (To / X-Original-To / Delivered-To)
│ 2. find EmailInbox in YDB by alias
│ 3. Subject → title, plain-body → message
INSERT messages + push via WebSocket
All your clients receive the notification
  • Маршрутизация — по subaddress-части +alias в локальной части адреса (postmaster+abc123@your-mail.yandexcloud.net) или по выделенному домену.
  • Хранение — таблица email_inboxes в YDB с уникальным индексом по alias.
  • Push — то же самое, что у обычного POST /message: моментальный фрейм по WebSocket плюс запись в БД для последующих GET /message.
  1. Open app.notifly.ruEmail Inbox.
  2. Click “Create inbox”, and fill in:
    • Name — for display, e.g. “Alerts Reg.ru”.
    • Channel — where to store incoming emails as notifications.
  3. A generated email address will appear in the table — this is the authentication. Copy it into the external service’s settings.
Окно терминала
curl -X POST "$NOTIFLY_URL/email-inbox" \
-H "Content-Type: application/json" \
-H "X-Gotify-Key: <client-token>" \
-d '{
"name": "Alerts Reg.ru",
"appId": 12345
}'

The response will include the inbox object with the emailAddress field filled:

{
"id": 17,
"appId": 12345,
"appName": "Operations",
"name": "Alerts Reg.ru",
"alias": "a3f9c2",
"emailAddress": "postmaster+a3f9c2@your-mail.yandexcloud.net",
"created": "2026-04-30T10:11:12Z",
"lastUsed": null
}

If you have configured the Notifly MCP server, simply ask:

Create an Email Inbox for the “Operations” channel named “Alerts Reg.ru” and send me the resulting address.

Any SMTP client sends an email to the obtained address — no authorization headers are required (alias itself is the secret). The minimal example:

Окно терминала
# msmtp / mailx
echo "Database hasn't been updated overnight — check replication." \
| mail -s "[ALERT] backups: lag > 24h" \
"postmaster+a3f9c2@your-mail.yandexcloud.net"

From Python:

import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["To"] = "postmaster+a3f9c2@your-mail.yandexcloud.net"
msg["From"] = "alerts@example.com"
msg["Subject"] = "[ALERT] backups: lag > 24h"
msg.set_content("Database hasn't been updated overnight — check replication.")
with smtplib.SMTP("smtp.example.com", 587) as s:
s.starttls()
s.login("user", "pass")
s.send_message(msg)
Notification fieldSource
titleEmail subject (Subject:)
messageThe text body of the email (text/plain part)
priorityThe channel’s default priority
dateThe time the email arrived in the Cloud Function

The HTML part, if present, is discarded: the notification is a short plain-text. If the email is pure HTML, the textual branch of multipart/alternative will be used if present; otherwise — an empty string.

Method and pathAuthorizationPurpose
GET /email-inboxclient-tokenlist of inboxes
POST /email-inboxclient-token (write)create
PUT /email-inbox/:idclient-token (write)rename / change channel
DELETE /email-inbox/:idclient-token (write)delete

POST accepts EmailInboxParams{name, appId}. The response always returns the full EmailInbox object, including the public emailAddress (it’s convenient to copy it straight into the external system’s settings).

  • Plain-text only — HTML markup is ignored, attachments are not saved.
  • Email size — within the limits of Yandex Cloud Mail Trigger.
  • The address is case-sensitive with respect to the alias (stored lower-case).
  • Under high load (>1 email/sec per inbox) notifications will arrive in batches — the Cloud Function scales, but Notifly does not deduplicate notifications automatically.