Create a Free Business Email with Cloudflare Email Routing

Why have a business email instead of a regular Gmail address?

  • It boosts the credibility of your business and attracts more clients. 
  • It allows you to promote your brand’s domain name every time you send an email.
  • Just think to yourself, which one will you consider a serious business? A funky address like [email protected] or [email protected] address? Of course, the latter sounds more professional.

If you’re a working professional in any niche, having a custom domain email ( can be an unique identity to contact you for any business inquiry. In this tutorial, you will learn a free method for creating a business email with Cloudflare Email routing.

How much does it cost?

Nothing much. You need to buy a domain name for your brand email. Roughly it will cost approximately USD 10 only per year. Or, you can use the existing domain if you already have one. You do not need to pay anything specifically for the email hosting solution. 

Step 1. Buy a Domain Name

You can buy a domain name for your brand with the Google Domains website at affordable pricing. They include free whois privacy protection for preventing spam on domain ownership information.

Another company that lately started offering the cheapest domain name with free whois privacy is ‘Cloudflare’ without any markup. 

Cloudflare is a leading organization that provides Internet services to many famous global brands such as DigitalOcean, Linode, Medium (Publishing Platform), OkCupid (Dating Site), Zendesk (SaaS company), to name a few. It’s a dominating market leader in the field of performance and security. They handle ~20% of all Internet traffic. 

Recently, Cloudflare started providing free Email Routing services. We can use its free email forwarding feature for creating a business email.

Step 2. Create a Cloudflare Account

Sign up Cloudflare

Step 3. Add your Domain to Cloudflare

  • If you have multiple account links, simply choose the one that belongs to you.
  • After adding domain name, update the nameservers as suggested by Cloudflare.
  • Click on add site button
Add a site
  • Add your domain name
Add a domain in Cloudflare

Step 4. Select the Free Plan

The free plan of Cloudflare comes with free email routing services that we need in next steps.

Cloudflare Plan

Step 5. Review DNS Records

  • If you’ve any existing website associated with it, you can manually review all DNS entries and ensure all are there.
  • Next, proceed.
  • If it is just a new domain only for email purpose, you don’t need to worry. Simply, proceed.

Step 6. Update Cloudflare Nameservers

  • Go to Domain Registrar
  • Update there as provided by Cloudflare.

Fun fact: It comes with prefix of Male and Female name.

Step 7. Go to Email menu

CF Email Menu

Step 8. Create a Custom Address

  1. Click on Create custom address
  2. Enter custom address username. E.g, contact
  3. Action: Send to
  4. Destination address: Enter your Gmail Address. For example: [email protected]
  5. Click on Save
  6. You will see a message “Pending verification”.
creating custom address email

Step 9. Verify Routing Email

The destination email address you entered in previous step need to verified to get email forwarded to it.

confirm destination email address

Step 10. Add required DNS

  • Go back to Email Routing menu for your Domain in Cloudflare
  • Click on Add Records Automatically
add dns records

Once added, you will see ‘Routing enabled’.

Routing Enabled

Result: Email forwarding works

Now if anybody send email at [email protected] e-mail it will be forwarded to the destination address.

Test Email
  • Email receiving feature is working.

What’s next?

  • Now, we need to configure SMTP for sending feature for replying.

Note: Consider replacing Cloudflare provided SPF record to below one to ensure outgoing email doesn’t land into spam folder.

v=spf1 ~all

Step 11. Configure SMTP

Luckily, we can use free Gmail SMTP (, 587) getting reply functionality.

Generally, SMTP consists four things.

  1. SMTP Address:
  2. SMTP Port: 587
  3. SMTP Username: This will be your Gmail address
  4. SMTP Password: It can be Gmail password, but it’s better to use App Password instead.

App password is like an unique password for signin to Gmail with any 3rd-party solution.

Create App Password

tfa status

Once 2-Step Verification enabled, you can see option to create App Password.

create google app password

Choose App: Other (custom name)

custom named app password

Enter Custom Name: Gmail SMTP and Click GENERATE button.

generate App Password

Copy the Generated app password

App Password

Go to Gmail Settings

Gmail settings 1
  • Go to Accounts and Import tab
  • Under Send mail as: click on ‘Add another email address’.
Add Another Email Address Gmail Settings

Enter information about your custom domain name email address.

  • Name: Type your name.
  • Email: Type your custom Domain Email address.
  • Teat as an alias (Keep the checkbox enabled as it is)
  • Click on Next Step button
Adding another email address

In this step, we need to provide SMTP credentials where Gmail can connect to send email.

smtp setup
  • SMTP Server:
  • Port: 587
  • Username: Enter your Gmail address
  • Password: Enter the app password which we generated in previous step.
  • Then, click on Add Account button.
  • Now, Google will send an email at your custom domain address ([email protected]) to confirm you actually have access to it.

Glad, we have already setup email forwarding (from [email protected] to [email protected]) so we can surely receive email from the Google.

verify address
  • Check your Gmail Inbox and click on the confirmation link.
  • You can either enter the confirmation code or click on the link.
verify custom domain email address

Step 12. Set Default Email to Improve Gmail Experience

  • Go to Gmail settings
  • Go to Accounts and Import
  • Send mail as: Set your custom domain email as default sending email for your Gmail
  • When replying to a message: Choose ‘Reply from the same address the message was sent to’.

Step 13. Set Profile Photo for Custom Domain Email in Gmail

gmail profile pic
Blank Picture

By default, Gmail shows blank profile picture for custom domain. We can set profile photo same as Google account for the custom domain email.

  • Simply, go to My Google Account settings page.
manage my google account
  • Go to Personal Info > Click on Email
contact info settings
  • Then click on the Alternate Email
add alternate email
  • Login to Gmail account
Gmail Login
  • In the Alternate email field, enter custom domain email.
add alternate domain for Gmail
Google will send a verification email to your custom domain email.
verification email sent
Click on the confirmation link received at your Mailbox. You may need to re-enter password to continue.
verify alternate email request

You will see that alternate email is now verified. Google will consider this as your own email.

Fun fact, you can also sign in to your Gmail with custom domain email as replacement of username or regular gmail address.

free business email

Now within 24 hours, you will find your custom domain email also have a profile picture same as your Google account. You can test by sending an email to your custom domain business email address.


If you have any question feel free to ask in the comment section below.

You may also like to read

Leave a Comment

17 thoughts on “Create a Free Business Email with Cloudflare Email Routing”

  1. Avatar of xyz

    Can it route more than 1 email?

  2. Avatar of Lynn

    Thank you. This was helpful.

    I had a problem with [email protected] being blocked. I clicked resend verification and it eventually arrived. Now I have everything set up and my picture is showing up with now wait time.

  3. Avatar of Kristine L’Estrange
    Kristine L’Estrange

    This is such a helpful article! THANKYOU!

  4. Avatar of mohan

    great tutorial, i did all the configurations successfully, except the last step i don”t receive the verification code ,all mails from sender [email protected] are not forwarded. the Activity Log shows this:
    result: Delivery Failed
    Rejected reason:
    Unknown error: transient error (421): 4.7.28 Our system has detected an unusual rate of4.7.28 unsolicited mail originating from your IP address. To protect our4.7.28 users from spam, mail sent from your IP address has been temporarily4.7.28 rate limited. Please visit4.7.28 to4.7.28 review our Bulk Email Senders Guidelines.

    • I need to update my tutorial. Noticing so much issues with Gmail SMTP. Meanwhile, I suggest using Sendinblue as SMTP. It’s free to use as of now.

    • Avatar of Gulshan Kumar
      Gulshan Kumar

      We are using only two services Cloudflare and Gmail that is why just that is included in the SPF.

  5. Avatar of Rajib

    How about the DKIM record? Followed your method but DKIM is not passed . Since we are using gmail SMTP, we also need the DKIM record to ensure that the email has been sent from that domain. Any solution to this?

    • Avatar of

      It’s not possible to set up DKIM record with free gmail account. You can use Amazon SES instead Gmail SMTP.

  6. Avatar of Sumit bahl
    Sumit bahl

    After completing the steps, my outgoing email landed in the promotion tab. Any fix for this?

    • Avatar of Gulshan Kumar
      Gulshan Kumar

      Gmail is sending your outgoing emails in promotion tab because you’ve recently started using Cloudflare for the email routing. I suggest wait some time and Gmail AI will learn automatically about content. If you want quick fix, you can switch to G suite or create a filter at destined address.

  7. Avatar of Carlos

    Amazing, thanks for you solution! It works wonderfully, I bought my domain 4 years ago and I always wanted to setup the mail adress as well using it, unfortunely Cloudflare is’nt offer the SMTP server yet, but your solution helped me a lot to achieve this.

  8. Avatar of Sahil Dadwal
    Sahil Dadwal

    Following your article for setup my custom email address in Cloudflare. all configuration is done but incoming emails land in the spam folder. also adding the SPF record given by you but after adding that SPF record. Cloudflare send an error message DNS misconfigured.

    Check Screenshot of DNS Setting :

    • Avatar of Gulshan Kumar
      Gulshan Kumar

      Please replace your record value

      From v=spf1 ~all
      To v=spf1 ~all

      We don’t need capital C. Sorry for the typo.

  9. Avatar of Diher.Solutions

    is this purely without using self hosting (to receive gmail forwarding verification code). ?

    • Avatar of Gulshan Kumar
      Gulshan Kumar

      You’re not self hosting anything with this method. Everything depends on 3rd-parties (Cloudflare and Gmail).