Basics
What is Supromail?
Supromail is a self-hostable messaging platform for sending email, SMS, WhatsApp, and Telegram from infrastructure you own: verified domains, Android phones, linked WhatsApp numbers, and Telegram bots.
What does "owned messaging" mean?
It means your sending identity and routes belong to you. Email uses your domains and relay, SMS uses your phones and SIMs, WhatsApp uses your linked numbers, and Telegram uses your bots.
Do I need to enable every channel?
No. Channels are enabled per workspace. You can turn on only Email, only SMS, or any combination of Email, SMS, WhatsApp, and Telegram.
How do users sign in?
Supromail uses passwordless login. You enter an email address, receive a 6-digit code, and sign in with that code. New email addresses are created automatically on first sign-in.
What is a workspace?
A workspace is your organization container. Domains, phones, linked numbers, bots, messages, API keys, members, roles, and logs all belong to one workspace.
Can I send from my own domain?
Yes. Add a domain, publish the ownership and DKIM DNS records Supromail gives you, then verify the domain before sending.
Why will my domain not verify?
Verification needs both the ownership TXT record and the DKIM TXT record to be live. Check the host names exactly, including the DKIM selector, and allow time for DNS propagation.
What happens when an email bounces or gets a spam complaint?
Supromail adds the recipient to your workspace suppression list, records the event, and sends subscribed webhooks such as `email.bounced` or `email.complained`.
Can Supromail receive inbound email?
Not yet. Supromail currently handles outbound email plus bounce and complaint feedback. Do not point MX records at it for inbound mail.
Does Supromail provide the email relay?
Email is delivered through the outbound relay you configure, such as Postmark or your own MTA. Relay costs and reputation are separate from Supromail.
SMS
Do I really send SMS through my own phones?
Yes. Pair Android devices with Supromail and they become secure SMS gateways for your workspace, using your SIMs and carrier plans.
Why does my SMS show "sent" but not "delivered"?
`delivered` requires a carrier delivery receipt, and many carriers never send one. `sent` means the phone handed the message to the carrier successfully.
Why did an SMS go out through the wrong phone?
Rule-routing may not be enabled, no rule may have matched, or the matching phone may have been offline. Use Test route and message history to inspect the routing decision.
What is a strict SMS routing rule?
A strict rule refuses fallback. If it matches a number but no allowed phone is available, the message waits for that rule's phones instead of falling back to auto-routing.
Can Supromail fail over between phones?
Yes. If a phone goes offline, fails a send, or does not acknowledge an assignment, Supromail can re-route the message to another eligible phone.
Do you mark up SMS carrier costs?
No. SMS goes through your phones and SIMs, so you pay your carrier directly. Supromail does not add a per-message SMS platform markup.
How does Supromail send WhatsApp messages?
Supromail links your WhatsApp number with a QR flow like WhatsApp Web and sends through that linked number. This arm is early access.
Why does my WhatsApp QR never appear or pairing never complete?
Fresh deployments keep live WhatsApp dialing off with `WA_LIVE_DIAL=false`. Ask your operator whether that gate has been enabled, then scan the QR promptly because it refreshes about every 20 seconds.
Can my WhatsApp number get banned?
Yes. WhatsApp does not officially sanction this style of automated companion-device sending. Use numbers you can afford to lose, message people who expect it, and ramp volume slowly.
Does WhatsApp support delivery and read receipts?
Yes. WhatsApp receipts can advance message state from sent to delivered to read when the platform provides those receipts.
Telegram
How does Supromail send Telegram messages?
Telegram messages are sent through your own Telegram bot using the official Bot API. You create the bot with BotFather and register its token in Supromail.
Why did Telegram return "chat not found"?
Your bot can only message chats that opted in. A user must press Start, the bot must be in the group, or the bot must be an admin of the channel before you send.
How do I find a Telegram chat ID?
Use your bot's inbound traffic. Have the user message the bot, call Telegram's `getUpdates`, and read the numeric `chat.id`; public channels can also use `@channelusername`.
Do Telegram messages show delivered or read?
No. Telegram's Bot API only confirms that Telegram accepted the message, so `sent` is the final success state.
API & webhooks
Is Supromail developer friendly?
Yes. Supromail exposes REST APIs with predictable JSON, bearer API keys, scoped permissions, delivery logs, and signed webhooks.
What should I do if I lose an API key?
API keys are shown once and stored only as hashes. Revoke the lost key and create a new one.
How do I verify a webhook signature?
Hash the raw body bytes, not re-serialized JSON, and verify the signed string made from the timestamp and body. During a rotation window, accept either valid signature.
Does Supromail retry failed webhooks?
Yes. If your endpoint does not return a 2xx response or is unreachable, Supromail retries on a schedule before marking the delivery failed.
How do safe retries work for SMS sends?
Include an `idempotency_key` when retrying an SMS API request. Supromail returns the original message instead of creating a duplicate send.
Security
How does Supromail isolate customer data?
Data is scoped to workspaces, and the documented backend model uses Postgres Row-Level Security with a non-superuser runtime role to keep one workspace from reading another's data.
What secrets are encrypted?
DKIM private keys, webhook signing secrets, Telegram bot tokens, and WhatsApp session cryptographic state are sealed at rest with AES-256-GCM using the deployment master key.
How does Supromail reduce SMS recipient exposure?
The dialable SMS number is stored only while a message is in flight. At final status, Supromail keeps only a masked number and non-reversible hash for history and abuse controls.
What happens when a member is removed?
Access is revoked within one short token lifetime because login tokens are stateless and short-lived. Deleted logins are denylisted immediately so lingering tokens cannot recreate an account.
Pricing & hosting
Can I self-host Supromail?
Yes. Supromail can run on your own Linux host with Docker, Postgres, Keycloak, workers for the enabled channels, and an HTTPS reverse proxy.
What costs are separate from Supromail?
Carrier plans, SIMs, Android phones, email relay fees, DNS, hosting, backups, and cloud infrastructure are billed by the providers you choose.
Are limits meant to throttle normal traffic?
No. Defaults are safety ceilings for abuse containment, such as request limits, SMS quotas, per-recipient caps, duplicate-collapse windows, and blocked premium prefixes.
Where should customers ask for help?
Customers can open a support ticket from the dashboard. Operators can also check the deployment documentation for infrastructure-specific runbooks.