Voltar ao blog

My emails land in Gmail spam: a complete diagnosis from cPanel

Publicado em 26 de outubro de 2026 por Admin

A quote, an order confirmation or a reply to a customer that lands in Gmail's spam folder is a lost sale or a lost conversation. The usual reflex is to reconfigure everything at random, while the cause can almost always be found in a few minutes with an ordered method. This guide walks you through that method, step by step, from your cPanel account.

The 30-second decision tree

Before going into detail, here is the order to follow. Each step rules out a family of causes; only move on once the previous one is validated.

  1. Do the message headers show an SPF, DKIM or DMARC failure? If so, the problem is technical: go to step 2 (cPanel Email Deliverability).
  2. Everything shows pass but the message still goes to spam? Check whether the sending IP address or your domain is on a blocklist (step 3).
  3. No blocklist? Look at your standing as Gmail measures it in Postmaster Tools (step 4), then at the domain's sending history (step 5).
  4. Standing looks fine? Then the problem lies in the message itself (content, step 6), in how you send (volumes, step 7) or in missing one-click unsubscribe (step 8).

Step 1: read the message headers in Gmail

Send a message from your address (for example [email protected]) to a test Gmail inbox. Open it, click the three-dot menu, then Show original. Gmail displays a summary at the top with three lines: SPF, DKIM and DMARC, each followed by PASS, FAIL or NEUTRAL. Further down, the full header looks like this:

Authentication-Results: mx.google.com;
       dkim=pass [email protected] header.s=default;
       spf=pass (domain of [email protected] designates 203.0.113.10 as permitted sender) [email protected];
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=example.com

How to read the result

  • spf=fail or softfail: the IP address that sent the message is not authorised by your SPF record. Classic case: an external tool (newsletter, CRM, online shop) sends on behalf of your domain without being listed in the SPF.
  • dkim=fail or no DKIM line: the DKIM public key is not published in DNS, or it no longer matches the server's key (often after a nameserver change).
  • dmarc=fail while SPF and DKIM pass: this is an alignment problem. The domain shown in the From field must match the one validated by SPF or DKIM.
  • The From field is an @gmail.com address while the message is sent by your website (a WordPress contact form, for instance): Gmail explicitly forbids impersonating its own From headers. Always send from an address on your domain and put the visitor's address in Reply-To.

Also write down the sending IP address (shown in the SPF line and in the Received headers): you will need it in the next steps.

Step 2: check the status in cPanel Email Deliverability

In cPanel, open Email then Email Deliverability. The interface lists your domains and shows for each one whether its email-related records are valid or whether problems exist. The Manage button details four checks: DKIM, SPF, DMARC and Reverse DNS (PTR).

  • Repair suggests corrected records and lets you review them before applying. It is only available if your server manages the domain's DNS zone.
  • If your nameservers are elsewhere (at your registrar or an external DNS service), cPanel shows the expected values: copy them into the DNS zone that is actually authoritative, otherwise Gmail will never see the fix.
  • Reverse DNS (PTR): the reverse record of an IP address belongs to the owner of that IP, which means your hosting provider. If cPanel flags a problem there, or a "Mail HELO" warning, your host has to fix it: open a request with their support team.

The detailed setup of SPF, DKIM and DMARC (syntax, DMARC policy, reports) is covered in our guide to these three protocols on cPanel; here the goal is only to confirm that all three are present, valid and aligned.

Checking records from your own computer

If you have a terminal at hand, the dig command confirms what the rest of the Internet sees, independently of cPanel:

# Domain SPF
dig +short TXT example.com

# DKIM key published by cPanel ("default" selector)
dig +short TXT default._domainkey.example.com

# DMARC policy
dig +short TXT _dmarc.example.com

# Reverse DNS of the sending IP, then the forward check
dig +short -x 203.0.113.10
dig +short A hostname-returned-by-ptr.example.net

Gmail requires the PTR of the sending IP to return a hostname, and that hostname to resolve back to the same IP. If the last two commands do not "loop back", that is your problem.

Step 3: check blocklists

On shared hosting, several websites often share the same sending IP address. A compromised neighbouring account can get it blocklisted and hurt delivery for everyone. Test the IP noted in step 1, as well as your domain name, against the main lists (Spamhaus, Barracuda, SpamCop) with a multi-list lookup tool.

  • The IP is listed: on shared hosting, your host handles the delisting request, because they first need to remove the source of spam. Send them the IP and the name of the list.
  • Your domain is listed (domain lists such as the Spamhaus DBL): look for the cause on your side. A contact form without captcha abused to send spam, a stolen mailbox password or a compromised WordPress plugin are the most common cases. Fix it, change passwords, then request delisting.

In cPanel, the Track Delivery tool helps spot abnormal sending: hundreds of messages to unknown recipients in a short time betray a compromised account or script.

Step 4: check Google Postmaster Tools

Postmaster Tools is Google's free tool that shows how Gmail perceives your domain. Add your domain, then verify it with the TXT record provided by Google, created in cPanel's Zone Editor.

  • Compliance status: this dashboard shows, domain by domain, whether you meet Gmail's requirements (authentication, alignment, one-click unsubscribe, spam rate). It is the first screen to look at.
  • Spam rate: the share of messages reported as spam by recipients. Google recommends staying below 0.10% and never reaching 0.30%. Above 0.3%, a bulk sender is no longer eligible for Gmail's mitigation, and becomes eligible again after 7 consecutive days below that threshold.
  • The old reputation charts (domain and IP rated "High", "Medium" or "Low") are going away with the new version of Postmaster Tools: rely on compliance status and spam rate instead.

Note that data only appears once your daily volume to Gmail is high enough. If you send a few dozen messages a day, the dashboards will stay empty, which is normal; steps 1 to 3 are then your best indicators.

Step 5: domain and IP reputation

A brand-new domain has no history: Gmail stays cautious until it has seen consistent sending behaviour and recipients who open and reply. A few good practices:

  • Ramp up gradually: start with your everyday correspondence, then increase volumes over several weeks.
  • Separate your streams: send newsletters from a subdomain (for example news.example.com) and keep the main domain for correspondence and transactional messages. A poorly received campaign will not hurt your invoices.
  • Clean your lists: non-existent addresses generate bounces that weigh on reputation. Remove them after the first hard bounce.
  • Ask your contacts to add your address to their contacts and to click "Not spam" if they find one of your messages in the spam folder: these positive signals matter.

Step 6: message content

Even with perfect authentication and a good reputation, a message can still be filtered as spam because of its content. Things to check:

  • a message made of one large image with very little text;
  • shortened links, or links pointing to a domain with a poor reputation;
  • an executable attachment or a password-protected archive;
  • no plain-text version alongside the HTML version;
  • a sender name that changes from one mailing to the next, or an all-caps subject line full of exclamation marks;
  • a message that does not follow the standard format (missing Date or Message-ID headers), common with home-made PHP scripts using the mail() function.

For a WordPress or PrestaShop site, the most reliable fix is to send through authenticated SMTP with a real mailbox on your domain created in cPanel, rather than letting the CMS use its default sending function.

Step 7: volumes and sending pace

Gmail treats as a bulk sender any domain that sends around 5,000 messages or more per day to Gmail accounts. This status is permanent: a single peak is enough, even if your volumes drop afterwards. Requirements then become stricter (SPF and DKIM, DMARC, alignment, one-click unsubscribe).

In addition, cPanel hosting usually enforces an hourly sending limit per domain. Sending a newsletter to several thousand subscribers from a regular mailbox in BCC triggers both that limit and Gmail's filters. For campaigns, use a specialised email marketing service, properly authorised in your SPF and DKIM-signed with your domain.

Step 8: one-click unsubscribe

For marketing messages, Gmail and Yahoo require bulk senders to offer one-click unsubscribe (RFC 8058) and a visible unsubscribe link in the message body. In practice, two headers must be present:

List-Unsubscribe: <HTTPS unsubscribe address>, <mailto:unsubscribe-address>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

Gmail recommends processing requests within 48 hours, and Yahoo requires processing within 2 days. A hard-to-find unsubscribe pushes recipients to click "Spam", which directly raises the complaint rate seen in step 4. Transactional messages (invoices, password resets) are not affected.

What Gmail, Yahoo and Outlook require today

  • All senders to Gmail and Yahoo: SPF or DKIM, valid forward and reverse DNS (PTR), TLS encryption (required by Gmail), standards-compliant message format, complaint rate below 0.3%.
  • Bulk senders to Gmail and Yahoo: SPF and DKIM, a published DMARC record (a p=none policy is enough) aligned with the From domain, one-click unsubscribe, complaint rate below 0.3%. Since November 2025, Gmail has been stepping up enforcement, with temporary or permanent rejections for non-compliant traffic.
  • Outlook.com, Hotmail and Live: since 5 May 2025, domains sending more than 5,000 messages a day to these addresses must pass SPF, DKIM and DMARC (at least p=none). When requirements are not met, Microsoft may reject messages with the error 550 5.7.515.

After the fix: how long should you wait?

A corrected DNS error takes effect as soon as the zone propagates, from a few minutes to a few hours depending on the records' TTL. Send a new test message and check "Show original" again. A damaged reputation, however, rebuilds more slowly: the Postmaster Tools spam rate is calculated over several days, and it takes from a few days to a few weeks of clean, regular sending to get back to the inbox.

Summary checklist

  1. "Show original" in Gmail: SPF, DKIM and DMARC all PASS.
  2. cPanel Email Deliverability: no problem on DKIM, SPF, DMARC and PTR.
  3. From field on your own domain, never an @gmail.com address.
  4. Sending IP and domain absent from blocklists.
  5. Postmaster Tools: compliance status OK and spam rate below 0.1%.
  6. Newsletters separated on a subdomain, lists cleaned.
  7. Balanced content, plain-text part included, authenticated SMTP sending.
  8. One-click unsubscribe and a visible link for every marketing message.

By following this order, you find the real cause instead of changing records at random, and you know exactly when to contact your hosting provider: for the PTR and for blocklisted shared IPs.