Overview
Email forwarding automatically redirects incoming messages from one email address to another. It’s one of the most common things people set up when they’re consolidating inboxes, creating role-based addresses like support@yourdomain.com, or moving away from an old address without losing mail.
An email alias works differently than a forwarder — technically. An alias accepts mail for an address that doesn’t have its own mailbox, and delivers it somewhere else. A forwarder does the same thing but can also be applied to an existing mailbox. In cPanel’s interface, both are managed under the same Forwarders tool, so for practical purposes you’ll set them up the same way.
This article covers cPanel’s Forwarders interface (cPanel version 110+), how to forward to an external address, how to create a domain-level catch-all, and what to do when forwarded mail starts bouncing or landing in spam.
Prerequisites
- Active hosting account with cPanel access (any tier — shared, VPS, or dedicated)
- A verified domain added to the account with DNS pointing to Host & Tech nameservers
- At least one email address or domain already configured under your account
- If forwarding to an external address (e.g. Gmail, Outlook): awareness that the receiving server’s spam filters may flag forwarded mail — more on this below
Step-by-Step: Set Up an Email Forwarder in cPanel
Step 1: Log in to cPanel and open Forwarders
- Log in to your cPanel account at
https://yourdomain.com:2083(or via your Host & Tech client area). - In the Email section, click Forwarders.
You’ll see two tabs: Email Account Forwarders and Domain Forwarders. For most setups, you want the first tab.
Step 2: Add a new forwarder
- Click Add Forwarder.
- In the Address to Forward field, enter the local part of the address — just the part before the
@symbol. For example:helloforhello@yourdomain.com. - If you have multiple domains on the account, use the dropdown to select the correct domain.
- Under Destination, choose one of the following:
- Forward to Email Address — enter the destination address, internal or external
- Discard and send an error to the sender — useful for blocking an address cleanly
- Pipe to a Program — advanced option for routing mail to a script; only use this if you know what you’re doing
- Click Add Forwarder to save.
📝 Note: You can forward the same address to multiple destinations by adding separate forwarder entries for the same source address. cPanel will deliver a copy to each destination.
Step 3: Verify the forwarder is active
- Back on the Forwarders page, confirm the new entry appears in the list under Email Account Forwarders.
- Send a test message to the source address from an external account (not the destination) and confirm it arrives at the destination.
⚠ Warning: If the source address has an active mailbox, mail will be delivered to both the mailbox AND forwarded. If you only want forwarding and no local copy, you’ll need to either remove the mailbox or set up a forwarder that specifically discards local delivery. This catches a lot of people off guard when their mailbox quota fills up silently.
Step 4 (Optional): Set up a catch-all address
A catch-all, or default address, receives any mail sent to your domain that doesn’t match an existing mailbox or forwarder. This is useful if you’re unsure what addresses people have saved for you.
- On the Forwarders page, click Add Default Address under the Default Email Address section at the bottom.
- Select your domain from the dropdown.
- Choose to either forward to an email address or discard the mail. I’d recommend not enabling catch-all if your domain is more than a few months old — you’ll get flooded with spam sent to made-up addresses at your domain.
- Click Update.
📝 Note: Catch-all addresses are available on shared hosting plans. If you’re on a Shared Hosting plan and managing multiple domains, each domain has its own default address setting.
Step 5 (Optional): Set up a domain-level forwarder
If you want to forward all mail for an entire domain to a different domain — say, redirecting everything from oldcompany.com to newcompany.com — use the Domain Forwarders tab.
- Click the Domain Forwarders tab on the Forwarders page.
- Click Add Domain Forwarder.
- Select the source domain and enter the destination domain.
- Click Add Domain Forwarder.
⚠ Warning: Domain-level forwarders will only work if the destination domain accepts the forwarded addresses. If info@newcompany.com doesn’t exist, those messages will bounce.
Common Issues & Troubleshooting
Forwarded emails going to spam at Gmail or Outlook
This is the most common complaint with email forwarding, and it’s not a cPanel bug. When your server forwards a message, the original sender’s domain is preserved in the headers, but the sending IP is now your server’s. Gmail and Outlook run SPF checks against the new sending IP, which fails because your server isn’t listed in the original sender’s SPF record.
The fix is to enable SRS (Sender Rewriting Scheme) on your server. In WHM, go to Exim Configuration Manager > Advanced Editor and enable SRS rewriting. On shared hosting, contact Host & Tech support to confirm whether SRS is enabled at the server level — most modern cPanel servers have it on by default as of Exim 4.90+.
Forwarder is set up but mail isn’t arriving at the destination
First, check whether the source address has a local mailbox. If it does, and that mailbox is over quota, Exim may be deferring or bouncing the message before the forwarder even runs. Check mailbox quota under Email Accounts in cPanel. Also verify the forwarder destination address is spelled correctly — typos here are silent failures.
Mail loop detected — messages bouncing with a loop error
This happens when you forward address A to address B, and address B forwards back to address A. It also happens if you forward a Gmail address back to itself via a connected domain. Exim will detect the loop after a few hops and reject the message with a 554 mail loop detected error. Audit your forwarder chain and remove any circular routes.
Catch-all is active but some addresses still bounce
If you’ve set a catch-all but certain addresses are still bouncing, check whether a specific forwarder or filter exists for that address set to discard. Specific forwarders always take priority over the catch-all default address. Also confirm the catch-all destination mailbox isn’t over quota.
Forwarder stopped working after a domain transfer or DNS change
Forwarders are configured at the server level, not DNS level, so a DNS change alone won’t break them. However, if the domain was removed and re-added to the account, or if the hosting account was migrated, the forwarder configuration may have been reset. Log back into cPanel, go to Forwarders, and re-add the entries. In my experience, forwarder configs are one of the things most often missed during account migrations — worth double-checking after any move.
FAQ
Frequently Asked Questions
Can I forward email to Gmail or another external address?
Yes, you can forward to any external address including Gmail, Outlook, or Yahoo. The catch is that forwarded mail sometimes fails spam checks at the destination because your server’s IP isn’t in the original sender’s SPF record. If forwarded mail is landing in spam, ask your hosting provider whether SRS (Sender Rewriting Scheme) is enabled on the mail server — that usually resolves it.
Does email forwarding keep a copy on the server?
It depends on whether the source address has an active mailbox. If a mailbox exists for that address, cPanel will deliver a local copy AND forward. If you only want forwarding with no local copy stored, you can either delete the mailbox or contact support about configuring discard-after-forward behaviour. On busy accounts, that local copy can quietly fill your quota.
What's the difference between an email forwarder and an email alias?
In practical terms, very little when using cPanel. An alias accepts mail for an address that has no real mailbox and redirects it elsewhere. A forwarder does the same, but can also be added on top of an existing mailbox. Both are configured in the same Forwarders section of cPanel. The distinction matters more at the mail server configuration level than for day-to-day use.
How many forwarders can I create?
On most shared hosting plans, there’s no hard limit on the number of forwarders, though your hosting package may specify a maximum number of email addresses. Check your plan details in the Host & Tech client area. On VPS and dedicated server accounts, limits are set by the server administrator and are generally much higher.
Will setting up a catch-all address increase spam to my inbox?
Almost certainly, yes — especially if your domain has been around for a while. Spammers routinely send to randomly generated addresses at known domains, and a catch-all will collect all of it. I’d strongly recommend using specific forwarders for addresses you actually need, and leaving the default address set to discard rather than forward.