Send and Receive Custom Domain Emails for Free
Antonin Marxer

Antonin Marxer @antoninmarxer

About: Fullstack Freelance Developer React/Node.js/Remix/C# & DevOps AWS/Cloudflare 📍 Based in Strasbourg I bring a creative, value-oriented approach to building reliable and scalable solutions.

Location:
Strasbourg
Joined:
Oct 19, 2022

Send and Receive Custom Domain Emails for Free

Publish Date: Jul 31
0 0

Using a custom domain email like contact@yourcompany.com instantly boosts your credibility. Let’s be honest — john.doe@gmail.com doesn’t exactly scream “trust me with your money.”

This guide shows how to:

  • ✅ Receive emails at your preferred inbox (e.g., Gmail)
  • ✅ Send emails as your custom domain address
  • ✅ Do it all for free

Why not the usual options?

  1. Cloudflare Email Routing: Great for forwarding, but doesn’t support sending.
  2. Self-hosted mail server: Technically cool. Realistically, a nightmare to maintain unless you love configuring postfix, dovecot, SPF, DKIM, DMARC, and debugging why mail isn't delivered. This will keep us away from installing all these:
    • MTA (Mail Transfer Agent): Handles the sending and receiving of emails via the SMTP protocol.
    • MDA (Mail Delivery Agent): Delivers received emails to users' inboxes.
    • MUA (Mail User Agent): The email client used to read and send emails.
    • POP3/IMAP Server: Allows users to access their emails remotely.
    • Webmail: Web interface for accessing emails.
  3. Google Workspace, Zoho, etc.: Solid, but we’re keeping costs at zero. Zoho Mail's free plan is suitable for small teams but has limited flexibility:
    • Up to 5 users (including the SuperAdmin account)
    • max 50 emails per day per user
    • no email forwarding
    • limited spam filtering.

I typically set up a few standard addresses for each custom domain — things like no-reply@example.com, contact@example.com, myaccount@example.com, and sometimes even a newsletter@gmail.com. Before you know it, the number of email addresses starts to pile up quickly.

The free stack: forwardemail.net + Gmail

We’ll use:

  • forwardemail.net to handle inbound mail
  • Gmail’s “send as” feature to send emails from your domain. Just keep in mind that you're still subject to Gmail’s free account limits: up to 500 emails per 24 hours, and 100 recipients per message. Each teammate gets their own quota as they use their own gmail account.

Let's review the existing solutions:

  • using your DNS provider, such as Cloudflare Email Routing. However, this doesn't include the "send as" custom domain feature.
  • using self-hosted Mail servers. This means managing the following components:In most use-cases, this is overkill and doesn't add much value.
  • use forwardemail.net and leverage Google Mail built-in send-as feature.

In this tutorial, we'll see how to use forwardemail.net to setup your whole team's custom-domain emails for free.

Note: If your domain has been created less than 90 days, you must pay $3/month until the 90 days period ends.
This is due to abuse prevention controls to block suspicious activity regarding registrars like GoDaddy, Namecheap, and Hostgator

In the paid plans, forwardemail offers email aliases. These aliases can be used in any email client for your emails to be send-as your custom-domain email. When using those aliases, the outbound email server are sent through Forward Email SMTP server. The aliases can be setup in forwardemail web interface.

If you want to keep using the free plan, it's totally doable. We will not use forwardemail alises, and we will send the emails through Google outbound SMTP server.

forwardemail.net setup

  1. Create an account on forwardemail.net and register your custom domain.

  2. Set DNS entries on your preferred DNS provider.

    Type Name Content Proxied
    MX @ mx1.forwardemail.net DNS only
    MX @ mx2.forwardemail.net DNS only
    TXT @ "forward-email-site-verification=XXXXXX" DNS only
  3. Setup email forwarding
    In the free plan, email forwarding rules are set in DNS entries. Fortunately, forwardemail.net allows to encrypt records at no cost.

    Note: Use https://forwardemail.net/encrypt to encrypt these values and avoid exposing your Gmail in plain text.

    To forward all emails from your domain to a single address:

    Type Name Content Proxied
    TXT @ forward-email=user@gmail.com DNS only

    To forward a single email address (e.g., hello@example.com to user@gmail.com):

    Type Name Content Proxied
    TXT @ forward-email=hello:user@gmail.com DNS only

    To forward multiple specific emails, separate each with commas:

    Type Name Content Proxied
    TXT @ forward-email=hello:user@gmail.com,support:user@gmail.com DNS only

    You can have multiple TXT records to set multiple forwarding rules without exceeding 255 characters per line.

    Example encryption
    Here I want to forward all emails to user@gmail.com:

    Encrypt TXT Record

    Click Encrypt. A popup opens with the record's content: forward-email=XXXXXXXXXXXX

    Register the DNS record in your DNS provider:

    Type Name Content Proxied
    TXT @ "forward-email=XXXXXXXXXXXX" DNS only

    You should already be able to receive emails sent to your domain in your gmail account.

    Onboard a new user

    Let's say a new user arrives in your team. His email is john@gmail.com. To ensure he receives emails from john@yourcustomdomain.com, just add the following TXT entry after having encrypted it: forward-email=john:john@gmail.com

Send Emails as Your Domain (Gmail)

  1. Enable Two-Factor Authentication on your Gmail.

    Visit https://www.google.com/landing/2step/ if you do not have it enabled.

  2. Go to: https://myaccount.google.com/apppasswords

    Generate an App Password for "Mail".

  3. Type in the email you want to send-as and click Create

    Type your domain email

    A popup appears with the generated app password. Copy it.

    Generated app password

    Important: If you are using G Suite, visit your admin panel > Apps > G Suite > Settings for Gmail > Settings, and make sure to check "Allow users to send mail through an external SMTP server...".

    There will be some delay for this change to be activated, so please wait a few minutes.

  4. In Gmail, go to:

    Settings > See all settings > Accounts and Import > Send mail as



  5. In the Send email as section, make sure you check Reply from the same address to which the message was sent, then click Add another email address.
    Send email as configuration

    • Name: whatever you want
    • Email: your custom domain address (e.g., contact@yourdomain.com)
    • Uncheck “Treat as alias" Add domain email to gmail
  6. SMTP Config:

    • SMTP Server: smtp.gmail.com
    • Port: 587
    • Username: your original gmail address without the gmail.com (e.g. just "john.doe" if my email is "john.doe@gmail.com")
    • Passord: the app password
    • TLS: yes SMTP Config
  7. Gmail sends a confirmation email. Click the link inside. Done!
    Confirmation email to setup gmail alias

Test It

Compose a new email in Gmail: Open Gmail > Compose.

Your new address should be available in the “From” dropdown.

Email dropdown

The email should be received on the other end!

Summary

With a few DNS changes and Gmail tweaks, you get:

  • Professional-looking emails
  • Centralized inboxes
  • Zero hosting or subscription costs

Ideal for small teams, personal projects, or anyone who wants a professional touch—without opening their wallet.

I’d love to hear how you manage custom domain emails. Are you using something similar, or have a completely different setup? Drop it in the comments!

Comments 0 total

    Add comment