I manage domains and email sending / receiving for a few dozen different domains. I’m using mailcow for sending and receiving on some of them (which need mailboxes) and also using other services for bulk sending.
I have configured all of the DNS records for these domains and those DNS records are hosted at Cloudflare.
When I look at the raw source of emails I have received through my mailcow server for any of the domains I manage and have created the SPF TXT records for, mailcow seems to be not seeing those SPF records and the ARC-Authentication-Results reports spf=none
and says that the domain of the sender has no SPF policy when checking the IP address.
But there is a valid SPF record for the sending domain / host and it does include the IP address of the sender.
I have verified the SPF record against the sending domain / host with every online SPF tester and they all give the SPF record a pass
. I have also tested sending the same email from the same sender that mailcow gives an spf=none
to, to my personal gmail address and gmail says spf=pass
.
How can I figure out why mailcow is not seeing the existing SPF records for these hosts when every other means of testing shows that the spf records exist and are valid?
EDIT:
Just to clarify, here are screenshots of the headers of two identical emails sent from the same address and the same host. The first is addressed to one of my email addresses hosted by my mailcow server and the second is addressed to my personal gmail address:

