This content originally appeared on DEV Community and was authored by Jarle Mathiesen
If you’re a bootstrapped founder, chances are you’ve hit this point: your app or browser extension is live, users are trickling in, and suddenly you need to answer emails like a grown-up. Enter: support@yourproject.com
.
But how do you do that without signing up for Google Workspace or Help Scout for every domain you own?
This post shows you a dead-simple, cost-efficient setup to:
- Receive emails at branded addresses like
support@projectx.com
- Reply from Gmail without the dreaded “sent on behalf of”
- Keep costs close to zero using Cloudflare and Amazon SES
Let’s get into it.
Overview
Here’s what the stack looks like:
-
Cloudflare Email Routing — receives
support@
and forwards to your Gmail - Gmail — one central inbox to manage replies
- Amazon SES SMTP — lets Gmail send mail from your domain (authentic, no spoofing)
This setup works even if you manage multiple projects. All support email lands in your Gmail, but when you hit reply, it comes from the correct domain.
Step 1: Set Up Cloudflare Email Routing (Receive Mail)
Goal: All emails to support@yourdomain.com
land in your personal Gmail inbox.
- Go to Cloudflare → your domain → Email > Email Routing
- Click Set up and:
- Add destination: your Gmail (e.g.
yourname@gmail.com
) - Add address:
support@yourdomain.com
- Add destination: your Gmail (e.g.
- Follow the wizard to add MX, SPF, and DKIM records to your DNS
- Save and wait for it to verify (usually under 5 mins)
- Test it: send an email to
support@yourdomain.com
— it should appear in Gmail
Step 2: Set Up Amazon SES SMTP (Send Mail)
Goal: Gmail can send authenticated messages from your domain, not just forwarders.
- Go to the AWS SES Console
- Create a new SMTP user (under SMTP settings)
- Save the generated SMTP username and password
- Go to Verified Identities → Create Identity → Domain
- Enter
yourdomain.com
- Enable DKIM (Amazon provides 3 DNS records to add in Cloudflare)
- Optionally configure a custom MAIL FROM domain (improves deliverability)
- Enter
- Wait for domain verification to complete
Step 3: Configure Gmail to “Send Mail As”
Goal: You reply from support@yourdomain.com
, not yourname@gmail.com
- Go to Gmail → Settings → See all settings → Accounts and Import
- Under Send mail as, click Add another email address
- Name: e.g.
Support – ProjectX
- Email:
support@yourdomain.com
- Uncheck “Treat as an alias”
- Name: e.g.
- Use these SMTP settings (from SES):
- SMTP Server:
email-smtp.<region>.amazonaws.com
- Port: 587 (TLS)
- Username/password: from step 2
- SMTP Server:
- Gmail sends a verification code to
support@yourdomain.com
- You’ll receive it (thanks to Cloudflare routing)
- Enter the code to complete setup
Step 4: Make Gmail Use the Right Sender (By Default)
- In Gmail settings → Accounts and Import
- Next to
support@yourdomain.com
, click Make default - Click Edit info, then check: > “Reply from the same address the message was sent to”
Now every reply defaults to support@yourdomain.com
(Optional) Step 5: Organize Multiple Projects in One Inbox
Use Gmail filters:
- In the Gmail search bar, type:
to:(support@yourdomain.com)
- Click Show search options → Create filter
- Apply a label (e.g.
📬 ProjectX Support
)
Repeat for each support alias (e.g. help@
, contact@
for other projects)
Cost Breakdown
Tool | Monthly Cost |
---|---|
Cloudflare Email Routing | $0 |
Gmail | $0 |
Amazon SES (2k emails) | ~$0.20 |
Even at scale, this setup runs < $1/mo.
When You’re Ready to Scale Further
If you need a real shared inbox:
- FreeScout: Free, open-source Help Scout clone you can self-host on your Hetzner VPS
- Crisp Chat: Great free plan for 2 agents, integrates email and live chat
Both can still use Cloudflare routing + Amazon SES under the hood.
Final Thoughts
You don’t need to pay $6/user/month just to get support@yourdomain.com
. This setup is clean, cheap, and scales as you do. It’s perfect for bootstrapped founders with multiple projects.
Happy supporting!
This content originally appeared on DEV Community and was authored by Jarle Mathiesen