En donde tienes hospedado el sistema de correos? Manda un correo a una cuenta de gmail, esas casi siempre lo dejan pasar sin SPF y luego pone aquí los headers del email que llego a gmail, te vamos ayudar a crear el SPF.
Para enseñar los headers te vas en gmail al lado derecho en donde esta el boton de reply,forward,etc. Ahí dice mostrar original / show original, lo que andas buscando es algo como esto:
Received: from mx-b.mail.citi.com (mx-b.mail.citi.com. [67.231.153.94])
by mx.google.com with ESMTPS id eh3si29048500wjd.44.2016.04.13.09.37.32
for <XXXXXX@gmail.com>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 13 Apr 2016 09:37:33 -0700 (PDT)
Received-SPF: pass (google.com: domain of XXX@citi.com designates 67.231.153.94 as permitted sender) client-ip=67.231.153.94;
Authentication-Results: mx.google.com;
dkim=pass header.i=@citi.com;
spf=pass (google.com: domain of XXX@citi.com designates 67.231.153.94 as permitted sender) smtp.mailfrom=XXX@citi.com;
dmarc=pass (p=NONE dis=NONE) header.from=citi.com
Received: from pps.filterd (m0008245.ppops.net [127.0.0.1])
by mx0b-00123c02.pphosted.com (8.15.0.59/8.15.0.59) with SMTP id u3DGVAQ9031438
for <XXX@GMAIL.COM>; Wed, 13 Apr 2016 16:37:32 GMT
Las líneas más importante son estas:
Received: from mx-b.mail.citi.com (mx-b.mail.citi.com. [67.231.153.94])
Received-SPF: pass (google.com: domain of XXX@citi.com designates 67.231.153.94 as permitted sender) client-ip=67.231.153.94;
La primera dice la IP de donde salió el correo, y la otra dice el status de SPF para esa IP. Normalmente para un hosting que esta en el mismo servidor de correos el SPF tiene que incluir el MX y el A record, entonces un SPF básico te queda así
dominio.com.sv. IN TXT "v=spf1 mx a ptr"
Te vas al DNS agregs un campo de tipo IN TXT con el nombre de dominio.com.sv y pones lo de "" en el campo del dns.