So, I think the issue is DNS and the way your host is doing it. Your SPF basically sets up a host if it exists of 23.90.122.178.spf.hc1297-64.eu.iphmx.com. When you do a DNS lookup, we get a response IP of 127.0.0.2 that does not match the incoming server IP, so SPF fails. This would be on your email server provider to correct, or if they have their own blanker SPF record, include that instead of the exists.
sharqawi-co.com text =
"v=spf1 exists:%{i}.spf.hc1297-64.eu.iphmx.com include:spf.protection.outlook.com mx -all"
> 23.90.122.178.spf.hc1297-64.eu.iphmx.com.
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: 23.90.122.178.spf.hc1297-64.eu.iphmx.com
Address: 127.0.0.2