Getting started

mailcontact gives every project one inbox, fed by two sources: an HTML form endpoint and a real email address. Here's the whole setup (create an inbox, wire a source, get your first message) in about a minute.

1. Create an inbox

One inbox per project: a portfolio, a client site and a side project each get their own, instead of everything piling into your personal email. Creating one takes a name and nothing else. The beta is currently invite-only, so join the waitlist to get access. The free plan covers up to 2 projects.

2. Grab your two sources

Creating a project gives you two ways in, and both work immediately:

  • A form endpoint: a URL any HTML form or fetch call can POST to. Full reference in Form endpoint.
  • A project email address: yourproject@mailcontact.app, a real inbound address with no DNS records or mail server to set up. Details in Project email address.

Messages from either source land in the same inbox, tagged so you can tell a form submission from an email at a glance. The simplest form looks like this:

contact.html
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST">
  <input type="text" name="name" placeholder="Your name" />
  <input type="email" name="email" placeholder="you@email.com" required />
  <textarea name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send</button>
</form>

Prefer a ready-made snippet for your stack? There's a contact form generator and framework guides for Next.js, Astro, Hugo, Webflow and more.

3. Add a notification channel

Connect a channel so a new message pings you instead of waiting in a tab: Discord and email on the free plan, Slack and webhooks on Pro. See Notifications for setup and Webhooks for the JSON payload you can point at your own endpoint.

4. Send yourself a test message

The quickest test is a curl against your form endpoint:

terminal
curl -X POST https://mailcontact.app/api/forms/your-form-id \
  -d "email=you@example.com" \
  -d "message=Testing my new inbox"

The endpoint answers {"ok": true}, the message appears in your inbox, and your notification channel pings. You can also test the other source: email your @mailcontact.app address from your normal account and watch it land in the same inbox.

Where to go next

mailcontact is in beta and launching soon. The waitlist is on the homepage. Plans and limits are on the pricing page.