Introduction: Professional Email Without the Server Overhead
You have a domain — let's say yourdomain.com — and you want to receive email at [email protected]. The traditional approach involves setting up a full mail server stack: Postfix for SMTP, Dovecot for IMAP, configuring SPF, DKIM, DMARC, managing SSL certificates for mail, fighting spam filters, and monitoring deliverability. For a small business or personal project that just needs to receive email at a custom domain and have it forwarded to Gmail or Outlook, that is massive overkill.
The good news: you can set up email forwarding using only DNS records, with no mail server software installed on any server you manage. Several services provide this functionality for free, with Cloudflare Email Routing being the most popular and reliable option.
This guide covers everything: how DNS-only email forwarding works, step-by-step setup with Cloudflare Email Routing and alternatives like ImprovMX and ForwardEmail.net, SPF configuration for forwarded email, and how to send replies from your custom domain address through Gmail's "Send mail as" feature.
How DNS-Only Email Forwarding Works
Email delivery is controlled by MX (Mail Exchanger) records in your domain's DNS. When someone sends email to [email protected], the sending mail server looks up the MX records for yourdomain.com and delivers the email to whatever server those records point to.
With DNS-only forwarding, you point your MX records to a forwarding service instead of your own mail server. The forwarding service receives the email and immediately forwards it to your personal Gmail, Outlook, or any other email address.
[email protected]
finds forwarding service
receives email
[email protected]
in your Gmail inbox
Option 1: Cloudflare Email Routing (Recommended)
Cloudflare Email Routing is free, reliable, and integrates seamlessly if you already use Cloudflare for DNS. It supports custom addresses, catch-all routing, and sophisticated routing rules.
Prerequisites
- A domain with DNS managed by Cloudflare (free plan is sufficient)
- A destination email address (Gmail, Outlook, ProtonMail, etc.)
- Access to your Cloudflare dashboard
Step-by-Step Setup
In the Cloudflare dashboard, select your domain and click Email in the left sidebar, then Email Routing.
Click "Add destination address" and enter your personal email (e.g., [email protected]). Cloudflare will send a verification email to confirm you own this address.
Set up which custom addresses forward to which destination:
[email protected]forwards to[email protected][email protected]forwards to[email protected][email protected]forwards to[email protected]
A catch-all rule forwards any address that does not match a specific rule. This means [email protected] will reach your inbox. Useful but can attract spam.
When you enable Email Routing, Cloudflare automatically adds the required MX and TXT (SPF) records to your DNS zone. You do not need to add these manually.
DNS Records Added by Cloudflare
| Record Type | Name | Value | Purpose |
|---|---|---|---|
| MX | yourdomain.com | route1.mx.cloudflare.net (Priority 69) | Primary mail routing |
| MX | yourdomain.com | route2.mx.cloudflare.net (Priority 12) | Secondary mail routing |
| MX | yourdomain.com | route3.mx.cloudflare.net (Priority 41) | Tertiary mail routing |
| TXT | yourdomain.com | v=spf1 include:_spf.mx.cloudflare.net -all | SPF authorization |
Custom Routing Rules
Cloudflare Email Routing supports sophisticated routing beyond simple forwarding:
Address-Specific Routing
Route sales@ to one address, support@ to another, and press@ to a third. Each custom address can have a different destination.
Catch-All with Drop
Forward known addresses to specific inboxes, and silently drop everything else. This prevents spam to random addresses while keeping your legitimate addresses active.
Workers Integration
For advanced users, Cloudflare Workers can programmatically process incoming email — filtering, transforming headers, routing based on content, or triggering webhooks.
Multiple Destinations
A single address can forward to multiple destinations. Send team@ to all team members simultaneously without a mailing list.
Option 2: ImprovMX
ImprovMX is a dedicated email forwarding service that works with any DNS provider (you do not need to use Cloudflare). The free tier supports up to 25 aliases per domain.
Setup Process
| Record | Name | Value |
|---|---|---|
| MX | @ | mx1.improvmx.com (Priority 10) |
| MX | @ | mx2.improvmx.com (Priority 20) |
| TXT | @ | v=spf1 include:spf.improvmx.com ~all |
ImprovMX Free vs Premium
| Feature | Free | Premium ($9/mo) |
|---|---|---|
| Aliases per domain | 25 | Unlimited |
| Domains | 1 | Unlimited |
| SMTP sending | No | Yes |
| Email size limit | 10 MB | 50 MB |
| Catch-all | Yes | Yes |
| Email logs | 24 hours | 30 days |
Option 3: ForwardEmail.net
ForwardEmail.net is an open-source email forwarding service. It is privacy-focused (no email content logging) and offers a generous free tier.
| Record | Name | Value |
|---|---|---|
| MX | @ | mx1.forwardemail.net (Priority 10) |
| MX | @ | mx2.forwardemail.net (Priority 20) |
| TXT | @ | [email protected] |
ForwardEmail uses TXT records for alias configuration instead of a web dashboard, making it entirely DNS-managed.
SPF Configuration for Forwarded Email
SPF (Sender Policy Framework) tells receiving mail servers which servers are authorized to send email for your domain. When using a forwarding service, you must include the service's SPF record in your DNS.
v=spf1 include:_spf.mx.cloudflare.net -all
# ImprovMX SPF
v=spf1 include:spf.improvmx.com ~all
# ForwardEmail SPF
v=spf1 a mx include:spf.forwardemail.net -all
Replying From Your Custom Domain (Gmail "Send Mail As")
Forwarding gets email to your Gmail inbox, but by default your replies will come from [email protected]. To send replies that appear to come from [email protected], you need to configure Gmail's "Send mail as" feature with an SMTP relay.
Option A: Gmail's Built-In SMTP (Easiest)
[email protected] as the email address. Uncheck "Treat as an alias" if you want it as a separate identity.- Gmail SMTP (smtp.gmail.com, port 587) — simplest but replies show "sent via gmail.com"
- ImprovMX SMTP (smtp.improvmx.com, port 587) — premium feature, clean "from" header
- Mailgun/SendGrid/Amazon SES — third-party SMTP relay services
[email protected] (which forwards to your Gmail). Click the verification link to confirm.Option B: Free SMTP Relay with Brevo (formerly Sendinblue)
Brevo offers 300 free emails per day with SMTP relay — enough for personal and small business use:
SMTP Server: smtp-relay.brevo.com
Port: 587
Username: your Brevo login email
Password: your Brevo SMTP key
Forwarding Service Comparison
| Feature | Cloudflare | ImprovMX Free | ForwardEmail Free |
|---|---|---|---|
| Price | Free | Free | Free |
| Aliases | Unlimited | 25 per domain | Unlimited |
| Catch-all | Yes | Yes | Yes |
| Requires their DNS? | Yes (CF nameservers) | No (any DNS) | No (any DNS) |
| SMTP for sending | No | Free: No | Free: No |
| Attachment limit | 25 MB | 10 MB | 50 MB |
| Email logging | Minimal | 24 hours | None (privacy) |
| Reliability | Excellent | Very good | Good |
| Open source | No | No | Yes |
Limitations of DNS-Only Forwarding
No Mailbox Storage
There is no IMAP/POP3 mailbox. If your Gmail or Outlook is down, forwarded emails may bounce. You cannot access email from a dedicated email client pointed at yourdomain.com.
SPF/DKIM Forwarding Issues
Forwarding can break SPF alignment because the forwarding server's IP is not in the original sender's SPF record. Good forwarding services handle this with SRS (Sender Rewriting Scheme).
Rate Limits
Free tiers have rate limits. Cloudflare allows generous volumes but ImprovMX's free tier limits daily forwarded emails. Not suitable for mailing lists receiving hundreds of emails per day.
No Server-Side Filtering
You cannot set up server-side email rules, autoresponders, or spam filtering at the forwarding level (though your destination inbox handles these). For vacation replies, you need to configure them in Gmail/Outlook.
Full Mail Server vs Forwarding: When to Choose Each
| Scenario | Recommendation |
|---|---|
| Personal domain, 1-3 people | DNS forwarding — simple, free, zero maintenance |
| Small business, < 10 employees | DNS forwarding + SMTP relay or hosted email (Google Workspace, Microsoft 365) |
| Multiple domains, many users | Full mail server or hosted email service |
| E-commerce with transactional email | Full mail server + transactional service (Mailgun, SES) |
| Compliance requirements (HIPAA, etc.) | Full mail server or compliant hosted email |
Troubleshooting Common Issues
Email Not Arriving
Verify MX records are correct: dig MX yourdomain.com. Check that the destination address is verified in your forwarding service. Check the spam/junk folder in your destination inbox.
Emails Marked as Spam
Ensure SPF is configured correctly. Forwarded emails sometimes fail DMARC alignment. Add the forwarding service's IP to your Gmail "never mark as spam" filter.
Gmail Shows "via" Header
When using Gmail SMTP to send as your custom domain, recipients may see "sent via gmail.com." To remove this, use a dedicated SMTP relay (ImprovMX Premium, Brevo, or Mailgun).
Verification Email Not Received
If you are setting up forwarding for the first time and the verification email does not arrive, you have a chicken-and-egg problem. Temporarily set up a simple MX record to receive the verification email, or check if the service offers alternative verification methods.
$ dig MX yourdomain.com +short
69 route1.mx.cloudflare.net.
12 route2.mx.cloudflare.net.
41 route3.mx.cloudflare.net.
# Verify your SPF record
$ dig TXT yourdomain.com +short | grep spf
"v=spf1 include:_spf.mx.cloudflare.net -all"
# Test email delivery
$ echo "Test" | mail -s "Forwarding Test" [email protected]
Conclusion
DNS-only email forwarding is the perfect solution for anyone who wants a professional email address at their custom domain without the complexity and maintenance overhead of running a full mail server. Cloudflare Email Routing is the recommended choice for most users — it is free, reliable, and automatically configures the necessary DNS records. Pair it with Gmail's "Send mail as" feature and a free SMTP relay like Brevo, and you have a complete professional email setup: receive at [email protected], reply from [email protected], all managed through your existing Gmail inbox. Zero servers to maintain, zero software to update, and zero deliverability headaches to debug.