verificar registro mail google crear dns smtp mailchimp sendgrid spf

dns - registro - spf wizard



Demasiadas búsquedas DNS en un registro SPF (5)

Mi sitio web necesita enviar correos electrónicos con los servicios de Google Apps, SendGrid y MailChimp. Google Apps se usa para recibir y leer correos electrónicos entrantes a mi dominio.

Necesito establecer el registro SPF para mi dominio. Lo siguiente es sintácticamente correcto (no estoy seguro acerca de los tokens A y MX):

"v = spf1 a mx include: _spf.google.com include: servers.mcsv.net include: sendgrid.net ~ all"

Pero si lo pruebo con http://www.kitterman.com/getspf2.py me sale

Error permanente de PermError SPF: Demasiadas búsquedas DNS

Problema similar como http://www.onlineaspect.com/2009/03/20/too-many-dns-lookups-in-an-spf-record/

¿Cómo puedo optimizar / reescribir mi registro SPF?


Por lo tanto, nunca tuve que hacer esto antes, pero en función del artículo que me enviaste, esto es lo que se me ocurrió.

Empezamos con:

v=spf1 a mx include:_spf.google.com include:servers.mcsv.net include:sendgrid.net ~all

Obtenemos 10 búsquedas totales antes de arrojar el error Too many DNS lookups :

2 (Initial TXT & SPF Lookups) 2 (a & mx Lookups) 1 (_spf.google.com) 1 (servers.mcsv.net) +1 (sendgrid.net) ----------------- 7 Lookups

Entonces, sin seguir los registros SPF incluidos, tenemos 7 búsquedas.

Ahora, sumerjamos un nivel más profundo.

1. _spf.google.com

El registro SPF de Google se evalúa como:

v=spf1 include:_netblocks.google.com include:_netblocks6.google.com ?all

Cada uno de los cuales resuelve los siguientes valores:

# _netblocks.google.com v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all # _netblocks6.google.com v=spf1 ip6:2607:f8b0:4000::/36 ip6:2a00:1450:4000::/36 ?all

Entonces Google nos da 2 búsquedas más, lo que da un total de hasta 9 búsquedas .

2. servers.mcsv.net

Mailchimp es un poco pesado porque agrega un total de 3 búsquedas adicionales:

v=spf1 include:spf1.mcsv.net include:spf2.mcsv.net include:spf.mandrillapp.com ?all

Me imagino que, dependiendo de lo que envíe a través de Mailchimp, es posible que pueda eliminar uno o dos de estos registros (pero tendrá que evaluarlo usted mismo).

De todos modos, esos resuelven lo siguiente:

# spf1.mcsv.net v=spf1 ip4:207.97.237.194/31 ip4:207.97.238.88/29 ip4:207.97.240.168/29 ip4:69.20.10.80/29 ip4:69.20.41.72/27 ip4:74.205.22.1/27 ip4:69.20.90.0/26 ?all # spf2.mcsv.net v=spf1 ip4:204.232.163.0/24 ip4:72.26.195.64/27 ip4:74.63.47.96/27 ip4:173.231.138.192/27 ip4:173.231.139.0/24 ip4:173.231.176.0/20 ip4:205.201.128.0/24 ?all # spf.mandrillapp.com v=spf1 ip4:205.201.136.0/24 ip4:205.201.137.0/24 ?all

Esto nos lleva a un total de 12 búsquedas (que son dos más que el límite).

2. sendgrid.net

SendGrid termina siendo el menor número de búsquedas adicionales para nosotros.

v=spf1 ip4:208.115.214.0/24 ip4:74.63.202.0/24 ip4:75.126.200.128/27 ip4:75.126.253.0/24 ip4:67.228.50.32/27 ip4:174.36.80.208/28 ip4:174.36.92.96/27 ip4:69.162.98.0/24 ip4:74.63.194.0/24 ip4:74.63.234.0/24 ip4:74.63.235.0/24 include:sendgrid.biz ~all

Entonces, la única búsqueda adicional aquí es sendgrid.biz , que se evalúa como:

v=spf1 ip4:208.115.235.0/24 ip4:74.63.231.0/24 ip4:74.63.247.0/24 ip4:74.63.236.0/24 ip4:208.115.239.0/24 ip4:173.193.132.0/24 ip4:173.193.133.0/24 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ~all

Esto hace que nuestro total de hasta 14 búsquedas.

Entonces nuestro gran total es 14 búsquedas . Necesitamos bajar eso a 10. He delineado un par de opciones a continuación, puede que necesite usar más de 1 para bajarlo.

  1. Incluya directamente algunos de los registros spf redirigidos. Ahora que sabemos a qué servidores redirigen los registros spf, puede cortar el intermediario e incluirlos directamente. Nota: si alguno de los servicios termina cambiando sus registros SPF, tendrá que pasar por el proceso de actualizar el suyo manualmente.

  2. Elimine algunos de los servicios que está usando. No estoy seguro de cuál es su caso de uso para tener todos estos servicios, pero definitivamente hay cierta superposición que podría ser capaz de usar. Por ejemplo, SendGrid admite (1) correo saliente transaccional, (2) boletines / correos electrónicos de marketing y (3) correo entrante. Entonces puede haber alguna redundancia reducible.

  3. Elimine el registro MX si es redundante. Dependiendo de su configuración, la búsqueda de MX puede ser redundante.

¡Espero que esto ayude!


Eche un vistazo a las herramientas SPF * que ayudan a reensamblar el registro SPF desde el original que utiliza incluye en uno estático que contiene solo campos ip4 e ip6 . Se puede acoplar fácilmente junto con el servidor DNS ejecutado localmente o el servicio DNS hospedado usando su API para mantener todo sincronizado con el upstream.

* Soy el autor (ahora junto con otros colaboradores) y es de código abierto bajo la licencia de Apache 2.0.


La respuesta de Swift es excelente.

Una técnica que no se menciona anteriormente es analizar si se pueden usar subdominios separados con sus propios registros SPF para los sistemas que envían correo a través de estas diferentes rutas.

Por ejemplo, si el dominio es example.com , [email protected] aplicaciones de google envíen desde direcciones como [email protected] . Luego puede haber un registro SPF para gapps.example.com que incluye _spf.google.com , y _spf.google.com se puede eliminar del registro SPF principal de example.com , lo que reduce las búsquedas por 3.


Exploramos el aplanamiento de los registros SPF en IP así como la creación de subdominios. Todos parecían mucho trabajo. Encontramos un servicio de spfproxy.org que, literalmente, tarda unos minutos en configurarse. Básicamente, enmascaran las búsquedas de DNS detrás de ellos utilizando macros SPF. No estoy seguro de por qué más empresas no ofrecen esto.


Hace unos años escribí hydrate-spf , una herramienta que busca incluye y fusiona el resultado en un registro gigante. Como se menciona en el archivo README, este enfoque no es ideal: elimina la posibilidad de que sus dominios incluidos actualicen sus registros. Sin embargo, cuando se encuentre con el límite permitido, se solucionará el problema inmediato y se podrá mantener de alguna manera a través de actualizaciones periódicas.