Forward your project's mail to the inbox you already read

Kontacts gives your project an inbox on a domain you own. Email forwarding copies every message that inbox receives into your own mailbox, so nobody has to log in to find out that something arrived.

By default, every address you verify gets every message. You can optionally send sales@ to Alice and support@ to Bob; anything you do not map still follows that project-wide list. If what you want is a dedicated alias service with no shared inbox, ImprovMX or Cloudflare Email Routing will serve you better. Free to start.

What happens to a message

Mail arrives at your project's address. Kontacts stores it, so it is readable in the dashboard whatever else happens to it. Then a copy goes to the destinations that match: a mapped local-part to the destinations you picked, everything else to every enabled, verified destination on the project.

The copy arrives from <the original sender>via kontacts”, and its Reply-To is your project's own address — not the sender's. Reply from your mailbox and the reply comes back through Kontacts, gets stored with the rest of the thread, and goes out to the sender from there. Nothing about the conversation ends up half-recorded.

Separately, and under its own two conditions, the same message may open a GitHub issue: 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. Forwarding does not wait for either — an address nobody declared is still received, still stored, and still forwarded.

What this is not

Three things, said plainly, because finding them out later is worse.

It is not an alias service. You can optionally send a local-part to a specific verified destination, but every message is still stored in the project inbox first, unmapped addresses still go to every destination, attachments stay in the dashboard, and the From and Reply-To are rewritten. ImprovMX is the product if the alias is the whole job.

Attachments are not forwarded. The copy carries a line naming the files and a link to the original message in the dashboard, where the attachments are. If the attachment is the message — an invoice, a signed PDF — you will be clicking through every time.

It is not a transparent forward. The From is rewritten and the Reply-To points back at Kontacts. That is on purpose: it is what keeps your reply in the thread instead of stranding half of it in a personal mailbox. But if what you want is your reply to go straight to the sender with Kontacts out of the way, this will annoy you.

Two things you probably will not get elsewhere

Forwards do not count against your send cap. A forward is Kontacts notifying you about mail you received — not a message you chose to send — so it is not charged to your sending allowance. A busy week costs you nothing.

You can ask to see the held mail too. Messages that fail sender authentication, or that arrive at an address nobody declared, are quarantined rather than published. By default they stay in the dashboard. Any destination can opt in to receiving them, and they arrive tagged [QUARANTINE] in the subject so they are trivially filterable. Nobody has to log in to find out that something was held.

Setting it up

  1. Create a project and connect the repository. Your project gets an address.
  2. Add a destination. Settings → Integrations → Email forwarding. If the address is your own Kontacts account email, it is verified on the spot. Any other address gets a one-time confirmation link first — an unverified destination never receives anything.
  3. Send a test message to your project's address. It will show up in the dashboard and in your own inbox.
  4. Optional — use a domain you own. Point its MX, SPF and DKIM records at Kontacts. On a verified domain of your own you can also turn on the catch-all in your project's settings, so every address at that domain counts as declared. The catch-all is not available on the shared kontacts.dev address space, because publishing every local part there would publish other people's mail.

When something else is the better tool

If you want a dedicated alias map, use ImprovMX. Its free tier is 25 aliases on one domain, each pointed wherever you choose [1]. Kontacts can optionally route a local-part to one of your verified destinations, but that sits on top of a project inbox — it is not 25 independent aliases, attachments are not relayed, and the From is rewritten. Use ImprovMX when sales@ → alice is the product.

If you want plain forwarding at your DNS provider, use Cloudflare Email Routing. Sends to verified destination addresses are always free and do not count toward any quota, on any plan [2]. If your DNS is already at Cloudflare, that is a shorter path than moving your MX to us.

Kontacts is worth it when the mail is work. Both of those tools deliver a message to a mailbox and stop. Kontacts keeps the thread — the message is stored, your reply goes back out through the same address, and mail to the addresses on your list opens a GitHub issue in the repository you connected. Mail that fails sender authentication is held in the inbox and marked quarantined instead. If nothing downstream of “it arrived in my inbox” needs to happen, you do not need us for this.

Sources

  1. [1] https://improvmx.com/pricing/ — read . Free "$0", "1 domain", "25" aliases.
  2. [2] https://developers.cloudflare.com/email-routing/limits/ — read . Sends to verified destination addresses "are always free"; 200 verified destination addresses per account; 30 domains per zone.

Questions, answered short.

Can I send support@ to one person and sales@ to another?
Yes, optionally. Add a route for that local-part under Settings → Integrations → Email forwarding. Addresses you do not map still go to every verified destination on the project. Every message is stored in the project inbox either way. If you want a dedicated alias map and nothing else — 25 independent aliases, each pointed wherever, no shared inbox — ImprovMX does that [1].
Do forwarded messages use up my sending allowance?
No. A forward is Kontacts telling you about mail you received, not a message you chose to send, so it is never charged against your send cap.
What happens to attachments?
They stay in Kontacts. The forwarded copy names the files and links to the original message in the dashboard, where you can download them.
Can I forward to an address that is not mine?
Only after whoever owns it confirms. Any address that is not a project member's own account email gets a one-time confirmation link, and it receives nothing until that link is used.
Will I see mail that got held?
Only if you ask for it. Messages that fail sender authentication, or that arrive at an address nobody declared, are quarantined and stay in the dashboard by default. Any destination can opt in to receiving them; they arrive with [QUARANTINE] in the subject.
If I reply from my own inbox, does the sender see my personal address?
No. The Reply-To is your project's address, so your reply travels back through Kontacts, is stored with the thread, and reaches the sender from the project address.