Heart Internet’s spf records are a little different to default configuration achieved through tools.
For Heart Internet mail servers only:
v=spf1 exists:%{i}.mta.spf.extendcp.co.uk exists:%{i}.web.spf.extendcp.co.uk exists:%{i}.exch.spf.extendcp.co.uk -all
With Google’s mail servers:
v=spf1 exists:%{i}.mta.spf.extendcp.co.uk exists:%{i}.web.spf.extendcp.co.uk exists:%{i}.exch.spf.extendcp.co.uk include:_spf.google.com -all
Rather than implementing with -all you may wish to use ~all. This gives a soft fail. Emails which are received from a server which isn’t in the list are marked as being a soft fail. With the shown hard fail option the emails will simple be rejected.
There are a number of tools available for testing your entered spf entry. A couple which you may wish to try are:
https://mxtoolbox.com/spf.aspx
https://dmarcly.com/tools/spf-record-checker
References
Heart Internet: How do I add SPF records to my site?
Further Reading
MX Toolbox: SPF – TXT record
Wikipedia: Sender Policy Framework


