When you are launching a new project, startup, or portfolio site, nothing kills your credibility faster than a generic @gmail.com email address. You want to look professional. You want hello@yourdomain.com. Usually, getting that professional polish means signing up for paid services like Google Workspace or other hosting providers that charge per user, per month. For a bootstrapped entrepreneur or a side-project hobbyist, those costs add up fast.
But there is a way to get unlimited custom domain email addresses for absolutely free.
I have found a method that allows you to send and receive email from a custom domain name while having it all land directly in your personal Gmail account. This isn't just a forwarding service; you will actually be able to reply as your custom domain. It relies on two primary tools: a standard Gmail account and Cloudflare’s free email routing features.
In this guide, I am going to walk you through the entire process. It is a bit of a "hacky" way to do things compared to buying a business account, but for new projects or solo founders, it is a game-changer.
The Concept: How It Works
Before we dive into the technical setup, let’s understand the architecture of this solution. The goal is to send and receive email from a custom domain name and have it all funnel into a single Gmail account that you can use at any time.
We are leveraging Cloudflare, which offers free email routing for any domain name hosted on their platform. Essentially, Cloudflare acts as the traffic controller. Every email sent to your custom domain hits Cloudflare first, and Cloudflare simply forwards it along to your destination—in this case, your Gmail account.
However, forwarding is only half the battle. If someone emails hello@myproject.com and it forwards to myname@gmail.com, and you reply, it typically reveals your Gmail address. That looks unprofessional. So, the second part of this guide involves configuring Gmail’s SMTP settings to "spoof" the sending address, allowing you to compose and reply to messages as if you were legally sending from your custom domain.
Prerequisites
To get started, you only need two things:
- A Gmail Account: This can be a brand new one you create in seconds, or an existing personal account. It is completely free.
- A Custom Domain Name: You need to own a domain or have full control over it. It doesn’t matter where you bought it—Name.com, GoDaddy, AWS, etc.—because we will be bringing it into Cloudflare to manage the DNS records.
Phase 1: Setting Up Cloudflare
The first major step is adding your domain to Cloudflare. If you already registered your domain inside Cloudflare, you are ahead of the game. If you registered it elsewhere (like Name.com), you need to change your nameservers so Cloudflare can manage the domain.
Adding Your Domain
Log in to your Cloudflare account and select "Add Domain." Enter your domain name (e.g., aircursor.com). When asked to select a plan, you do not need to go Pro. Select the Free tier. This tier allows us to use the email forwarding features we need.
Reviewing DNS Records
Cloudflare will scan your current domain records. If you just purchased the domain, it likely won't have many records, perhaps just some standard "coming soon" page records from your registrar.
If you are migrating a domain that already has a live website or email set up elsewhere, be very careful. You need to ensure all your existing records (A records, CNAMEs) are imported correctly. If this is a brand new project—which is what I recommend for this method—you don't need to worry as much about existing conflicts. I generally recommend keeping the Cloudflare proxy status on to get the security and speed benefits Cloudflare offers.
Updating Nameservers
This is the most critical part of the migration. Cloudflare will provide you with two unique nameservers. You need to go to your current registrar (where you bought the domain), find the DNS or Nameserver settings, and replace their default nameservers with the ones Cloudflare gave you.
Once you change these nameservers, all your domain records are run through Cloudflare. You won't be changing records at GoDaddy or Name.com anymore; you will manage everything in Cloudflare.
Note on Propagation: Changing nameservers can take time. It usually takes about 15 minutes, but it can take hours depending on global internet propagation. You might need to refresh the page in Cloudflare a few times until it confirms your domain is active.
Phase 2: Configuring Email Routing
Once your domain is active on Cloudflare, we can set up the actual email forwarding.
- Navigate to the Email Routing tab in your Cloudflare dashboard.
- Click "Get Started."
- Create the Custom Address: Define the alias you want. For example, if you want
hello@yourdomain.com, typehelloin the custom address field. - Set the Destination: Enter your Gmail address (e.g.,
myname@gmail.com) as the destination. - Click "Create and Continue."
Verifying the Destination
Cloudflare needs to know you actually own that Gmail account. It will send a verification email to your Gmail address.
Go to your Gmail inbox. You should see a message titled something like "Verify email routing address." Click the verify button in that email. Once you do that, Cloudflare is authorised to forward emails to your inbox.
Adding Required DNS Records
Back in the Cloudflare dashboard, after verifying, you will likely see a prompt saying you are missing required records. Cloudflare makes this incredibly easy. It will list the necessary MX (Mail Exchange) and TXT records required to make email routing work.
Instead of manually typing these into a form, just click "Add records and enable". This automatically injects the correct settings into your DNS. This is much easier than manually configuring records in AWS Route 53 or other registrars.
Note: If you have old MX records from a previous email host, you may need to delete them to avoid conflicts, but for a new domain, this automatic setup is seamless.
Phase 3: Creating the "Send As" Capability
At this point, you can receive emails. If someone emailshello@yourdomain.com, it will arrive in your Gmail inbox. But if you reply, it will come from myname@gmail.com. We need to fix that.
We are going to configure Gmail to send email through its own servers, but labelled as your custom domain. Because Gmail wasn't natively designed to host custom domains for free (they want you to buy a business account), we have to use a workaround involving App Passwords.
Step 1: Generate a Google App Password
You cannot use your standard Gmail password for this SMTP setup, especially if you have 2-Factor Authentication (2FA) enabled (which you absolutely should). You need a specific "App Password."
- Go to your Google Account management page.
- Search for "App Passwords" (it is usually under the Security tab).
- You will need to sign in again to verify it's you.
- Create a new app password. Give it a specific name so you remember it later, like
hello@aircursor.com app password. - Google will generate a 16-character code. Copy this. This is essentially an API key that allows software to log into your Gmail account.
- Security Tip: Once you have this password, do not save it in a text file. If you lose it, just delete the old one and generate a new one. It is safer that way.
Step 2: Configure Gmail SMTP
Now, go back to your Gmail inbox.
- Click the Settings gear icon and select "See all settings".
- Go to the "Accounts and Import" tab.
- Look for the section labeled "Send mail as" and click "Add another email address".
- Name: Enter the name you want people to see (e.g., "Justin").
- Email address: Enter your custom domain email (e.g.,
hello@aircursor.com). - Treat as an alias: Ensure this box is checked. This helps the email function smoothly inside your inbox.
- Click "Next Step."
Step 3: Server Configuration
This is the part that trips most people up. You are going to use Gmail's servers to send the mail.
- SMTP Server: Enter
smtp.gmail.com. - Username: Enter your original Gmail address (e.g.,
myname@gmail.com). Do not put the custom domain here. - Password: Paste the 16-character App Password you just generated. Do not use your regular Google password.
- Port: Keep the default (usually 587 with TLS).
- Secured connection: Select TLS.
Click "Add Account."
Gmail will now attempt to log into itself using that App Password. If successful, it will say a confirmation email has been sent.
Phase 4: Final Verification
Confirming the Alias
Since you set up Cloudflare forwarding in Phase 2, the confirmation email Gmail just sent to hello@aircursor.com will automatically be forwarded right back to your Gmail inbox.
- Check your inbox for the confirmation code.
- Click the link or paste the code into the prompt window.
- Once confirmed, you can close the window.
The "Send" Test
Now, refresh your Gmail page. Click "Compose." You will see that your "From" address is now a dropdown menu. You can select your custom domain (e.g., hello@aircursor.com) and send an email.
Send a test email to a different email address (like a Yahoo or Outlook account, or a friend).
- Subject: "Hello World from Custom Email".
- Body: "Testing 123."
If it sends without error, you have successfully authenticated.
The "Receive" and "Reply" Test
Go to that other email account and reply to your test message.
- Send a reply saying "Are you there?"
- Go back to your main Gmail inbox. You should see the reply.
- Hit "Reply" in Gmail.
Crucial Check: When you hit reply, Gmail should automatically select your custom domain as the sender, not your Gmail address. If it defaults to your Gmail address, go back to "Accounts and Import" settings and select "Reply from the same address the message was sent to".
Dealing with "Spam" and Delays
When you first set this up, you might notice some delays. DNS propagation is a massive global system, and moving your domain to a new server (Cloudflare) takes time to update across the world.
Also, during your first few tests, emails might land in the Spam folder. This is common with fresh setups. If you see your test emails in Spam, mark them as "Not Spam" to help train the filters. Because we are routing through Cloudflare and sending via authenticated Gmail SMTP, delivery rates are generally very high once the domain warms up.
Expanding Your Setup
The beauty of this system is that it is unlimited. You can go back into Cloudflare and add justin@aircursor.com, support@aircursor.com, and info@aircursor.com. You just repeat the process: create the rule in Cloudflare, and if you want to send from it, generate an alias in Gmail.
You can have all these different aliases feeding into one inbox. If you are a solo founder, you can look like a whole team.
When Should You NOT Use This?
I want to be transparent: this is a workaround. Gmail was not strictly designed to function as a free business email host for custom domains forever. They have paid business accounts for that exact reason.
If your organisation starts to grow, this method becomes cumbersome. Managing multiple users, sharing inboxes, and handling complex routing rules is difficult with this setup. If you have a team, you should eventually migrate to a paid Google Workspace or Outlook setup.
However, for a new project, a developer portfolio, or an early-stage startup, this is the most cost-effective way to look 100% professional. It makes your project legitimate. When a VC or a customer sees a custom domain email, they trust it more than a random Gmail address.
Summary
To recap, here is your checklist:
- Cloudflare: Add domain, update nameservers, set up Email Routing to forward to Gmail.
- Google Security: Enable 2FA and generate an App Password.
- Gmail Settings: Add "Send mail as" using
smtp.gmail.comand your App Password. - Test: Verify you can send and receive without revealing your underlying Gmail address.
I am going to use this on every project going forward. It costs nothing, uses the robust infrastructure of Cloudflare and Google, and provides that crucial layer of professional polish that every new venture needs.
Community Insights