Not just another "e-mail being marked as spam" thread...

Howdy everyone! I run a web agency business for a small local community, where I help local businesses modernize their websites, and in some cases, provide those businesses with non-critical e-mail customized to their domain. I provide this service in place of a using a free gmail or yahoo account for their business.

Most of the time, I encourage them to use Google Workspace or M365 e-mail, but in some cases, this is a "nice to have" service that is perfect for their needs.

In any case, I started my business on a different host which leverages WHM and cPanel. I stopped using that host for websites, and only exclusively serve e-mail off of that host. However, the cost is very prohibitive because I sized it to be my primary host. I need to migrate e-mail to a more cost effective (and frankly, more reasonably sized) platform. Enter Linode.

I set up a Linode with CyberPanel and then configured my first domain ( with the internal e-mails I use for customer service accounts. I've achieved a 10/10 e-mail tester score with no flags when sending e-mails from this domain.

Here's the thing that's stumping me. I can't seem to send an e-mail to google or microsoft without it going to spam. My SPF is using ~all and if I move it to -all, e-mails don't go through at all.

In my use case, all of my clients are hosting their website on my cloud web server, so the primary A record for the top level domain will go there. I'll consistently use for the MX record. Same goes for the master domain… I'm serving a very simple index page on my cloud web server, but is the MX record and that's what I used for the rDNS record.

I have looked over so many of the self-help articles and videos. I've updated the Cyberpanel config file to use ipv6, I've played around with different TXT DNS settings, nothing seems to be the "fix".

Most of the articles and videos I'm finding are for use cases where CyberPanel is hosting DNS, website and e-mail for a given domain. In my case, I'm only hosting e-mail. DNS is over at Cloudflare and Website is at another host.

I found one article from 2019 indicating that CyberPanel does a crummy job handling my specific use case (multiple domains managing only e-mail), but given that was four years ago, I'd assume things could be different now.

To be clear, I've:

Set up rDNS to for both ipv4 (A) and ipv6 (AAAA)
Set up DKIM, SPF and DMARC
Achieved a 10/10 E-mail Tester Score from *
All e-mails sent from * are sent to spam

I'm hoping someone here has done what I'm attempting to do and could point out what might be the problem. Thank you!

3 Replies

Taking a look at the specifics you shared here in MXToolbox, I noticed there is no SPF record for the subdomain. I'm seeing some conflicting information about this on various sites, but according to this article on DMARCLY:

SPF policy discovery works differently than DMARC policy discovery in this regard: if SPF is unable to find an SPF record on a subdomain, it won't go up to try the organizational domain; instead, SPF will return none as the check result.

I'd recommend first trying to add an SPF record specifically for the subdomain, even if Cyberpanel has suggested it's not necessary.

If that doesn't work after it has had time to propagate, I'd recommend using the MXToolbox SuperTool to see if you can find any other errors. Hopefully that helps or someone with more knowledge of this specific situation finds this and provides more help in the near future.

Thank you Cassandra for taking the time to write that out. Unfortunately I didn't find a smoking gun around my SPF record specificall with the subdomain. Since my e-mails are - I'm not convinced this would be the way to go.

Any other thoughts or recommendations from the community?


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct