If You are struggling with SPF or dont know where and how to add it,
i tried things mentioned in this post and it worked.

SPF syntax validator: http://vamsoft.com/support/tools/spf-syntax-validator
SPF tester: http://vamsoft.com/support/tools/spf-policy-tester
SPF tester2: http://mxtoolbox.com/spf.aspx
(testers maybe using cache so not live results..)

How to setup SPF & DKIM in cPanel

login server via SSH and create new file "vi spfdkimall", then insert into it:

for user in `ls -A /var/cpanel/users` ; do
/usr/local/cpanel/bin/dkim_keys_install $user &&
/usr/local/cpanel/bin/spf_installer $user ; done
save and execute "sh spfdkimall
", in my case it taken more than minute to run and the result was proper SPF and DKIM records in all hosted domains on my WHM/cpanel server. Veriffy by going in WHM to DNS section, Edit DNS zone and find spf records there. One can veriffy SPF using links mentioned above.

How to setup SPF in zPanel

Go to zPanel / Domain Management / DNS Manager
Click TXT tab, to add TXT record.

v=spf1 ip4:YOURSERVERIPHERE +a +mx ~all

There should be 4 columns:
- Hostname
- in TXT
- Target

As Hostname, i added: @
As TTL i left default value: 86400
As Target i set: v=spf1 ip4:YOURSERVERIPHERE +a +mx ~all

After saved, i was able to get a clean record from MXToolbox after a few minutes of waiting:
Name:  J5Fpb.jpg
Views: 826
Size:  73.5 KB

How to setup SPF record for any OTHER control panel:

Just find "DNS" section in your hosting control panel and select your domain name to edit its DNS records.

Then you shoudl somewhere on that page find "TXT" and be able to add TXT record.
As a first column, try to add: @
Next column some number (TTL), i had: 86400
Third column is SPF rule, i had: v=spf1 ip4:YOURSERVERIPHERE +a +mx ~all

Bad SPF, error from mail headers of the email we sent:
Received-SPF: none (google.com: [email protected] does not designate permitted sender hosts) client-ip=192.254.*.*;