A forwarder is a pointer. A mailbox is the place.
Forwarding copies mail onward and stops. That is fine when the only job is “put this in the inbox I already read.” It is a bad fit when the address is the project’s — when someone has to reply, when the next person needs the history, when the mail is work. Kontacts is the mailbox. Forwarding is an optional copy.
The four words people mix up
What each job actually needs
| Job | A forwarder | A Kontacts mailbox |
|---|---|---|
| Receive mail at hello@ / support@ | Yes — then it leaves. | Yes — and it stays, where the team can see it. |
| Reply from the project address | Not really. Reply-To gymnastics, or your personal From leaks. | Yes, from the inbox. No IMAP — you reply in the dashboard, not in Thunderbird. |
| Team sees the history | No. The copy died in one person's mailbox. | Yes. The address was never theirs. |
| Send from an API key | No. | Yes. Mint a key under Settings → API keys. |
| GitHub issue routing | No. | A mode. Off by default. Mail to the addresses on your list opens a GitHub issue. |
| IMAP / desktop client | No. | No. We stay on Resend. There is no IMAP vendor. |
| Newsletters or an AI assistant | Sometimes, as a different product. | Newsletters: a first slice on a verified custom domain — audience, subscribe, Markdown draft, send. Not a Beehiiv replacement. Inbox AI can suggest a draft reply on a thread; it is not an autonomous writer. |
What Kontacts already is — and what it is becoming
Today the project gets a real inbox on a domain you point at us. Mail is stored. You can reply inside a thread from the dashboard. You can send a new message, or mint a project API key. You can optionally forward a copy to a personal mailbox, and you can optionally turn on GitHub issue routing. Publish a meeting type for a booking page; drop a form on your site. That is the product.
It is becoming more of a mailbox, not more of a forwarder. Reply exists; IMAP does not. Newsletters exist as a first slice on a verified custom domain — Newsletters in the dashboard — not as a Beehiiv clone. Inbox AI can suggest a draft reply on a thread; send still needs approval. It is not an autonomous assistant. We stay on Resend. Claiming a full hosted mail client would be a lie — do not read this page as that promise.
When you do turn routing on, mail to the addresses on your list opens a GitHub issue. Mail that fails sender authentication is held in the inbox and marked quarantined instead. The optional catch-all counts every address as declared; it does not change whether the message is received.
When forwarding is the right tool
If the only job is “put support@ in the inbox I already read,” Kontacts can forward a copy— and ImprovMX or Cloudflare Email Routing will do that job with less product around it. Use a forwarder when nothing downstream of “it arrived” needs to happen.
Use a mailbox when the address is the project’s, the reply has to leave from that address, and the next person on the team has to see what was said.