{
"domain": "github.com",
"cached": false,
"checkedAt": "2026-10-21T14:09:42.267Z",
"grade": "D",
"score": 68,
"summary": {
"errors": 0,
"warnings": 3,
"infos": 2
},
"spf": {
"record": "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all",
"qualifierAll": "~",
"mechanisms": 14,
"dnsLookups": 10,
"lookupLimit": 10,
"includes": [
"spf.protection.outlook.com",
"_netblocks.google.com",
"_netblocks2.google.com",
"mail.zendesk.com",
"_spf.salesforce.com",
"servers.mcsv.net",
"mktomail.com",
"sendgrid.net"
],
"redirect": null,
"resolvedTree": [
{
"domain": "spf.protection.outlook.com",
"via": "include",
"depth": 1
},
{
"domain": "_netblocks.google.com",
"via": "include",
"depth": 1
},
{
"domain": "_netblocks2.google.com",
"via": "include",
"depth": 1
},
{
"domain": "mail.zendesk.com",
"via": "include",
"depth": 1
},
{
"domain": "_spf.salesforce.com",
"via": "include",
"depth": 1
},
{
"domain": "servers.mcsv.net",
"via": "include",
"depth": 1
},
{
"domain": "mktomail.com",
"via": "include",
"depth": 1
},
{
"domain": "sendgrid.net",
"via": "include",
"depth": 1
},
{
"domain": "ab.sendgrid.net",
"via": "include",
"depth": 2
}
]
},
"dmarc": {
"record": "v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1",
"policy": "quarantine",
"subdomainPolicy": "reject",
"effectivePolicyForQueriedDomain": "quarantine",
"pct": 100,
"rua": [
"mailto:[email protected]"
],
"alignment": {
"dkim": "r",
"spf": "r"
},
"inheritedFrom": null
},
"dkim": {
"selectorsChecked": [
"google",
"selector1",
"selector2",
"k1",
"k2",
"default",
"s1",
"s2",
"mail",
"dkim"
],
"selectorsProvided": false,
"keys": [
{
"selector": "google",
"found": true,
"record": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj6T5sl/RwdSqGoYWaWaFbS2UAeyPrEmd0gogocmRfS441qwR8/0KB81Hw89P0l4YiFRrXYk7NVIGfyCRHAYYZUzCkGeOysI2EjgzLFhd/NEsbRzOEc/kWkK/RO6JFq/5lOn6M9AZw/ap9tds4JG9ApgNNdSpPxp9DmvpsOSgNMVflRxQFrk3kdS4RNAPKu/OPoA7dlR/A/pECryjRoYgENtDXzdnK70HgCekems6UDzxDj61cjyoKoXtEMF/QsaHEQ1Gjfv014rDJBsubk/kT5VqHkWHa/ia68Z5r228Ety/wFfQNjXTx/J7KGZ9GkZlKED659eiJcLnWcKDSi…",
"keyType": "rsa",
"keyBits": 2048,
"revoked": false,
"testing": false
},
{
"selector": "selector1",
"found": true,
"record": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxZC/z2cK+2s1f/ktzSDSeFzkfIHrjwtGFsfKMAYvKaXjPVNzKykpbXBkX5nB7dVUTFttda7aROr2iSrIseQ27Ui+4rUZVzgFanE8RaXhYM9n5wPKNv8GtLJk7JgcsYZ7ErgID4uW2sEYyV/dnRYw6rDzOaeRKkKELTUfJI5ebLQIDAQAB;",
"keyType": "rsa",
"keyBits": 1024,
"revoked": false,
"testing": false
},
{
"selector": "k1",
"found": true,
"record": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbNrX2cY/GUKIFx2G/1I00ftdAj713WP9AQ1xir85i89sA2guU0ta4UX1Xzm06XIU6iBP41VwmPwBGRNofhBVR+e6WHUoNyIR4Bn84LVcfZE20rmDeXQblIupNWBqLXM1Q+VieI/eZu/7k9/vOkLSaQQdml4Cv8lb3PcnluMVIhQIDAQAB;",
"keyType": "rsa",
"keyBits": 1024,
"revoked": false,
"testing": false
},
{
"selector": "k2",
"found": true,
"record": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2aC2KjGKLOwTweBY5A9RpjsxaBXR9r7OAU6U8/zn92ivImI75naUujWbItRI/QmL1jy5PWGqLwoUA0b90ObWaLDc+i9MtTNmGeWO009hr20fIxhGg6XBT2kjZ1DTThopSe1nAndsupmcBwlQ5Q6LJ+ZAxLcujnPIxM0ZBLmgpkv8u6RfY4eFP8OLvdAW3oSuB0DyLDigQX4Sj8wBO4YIdQH6AAmBeOsidsKAFNFUCpc3vCxtBDR12U+cBg724l3sBkMQ8evnz6idnqxq9QAVYh8k4kJ+RP+6cqTdy7LjIm8xY/bQNpQIpGUAuDo2DjLcCDun9DAI4Q/3z+Q0o…",
"keyType": "rsa",
"keyBits": 2048,
"revoked": false,
"testing": false
},
{
"selector": "s1",
"found": true,
"record": "k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyn3fMCVpb7ryIRKOGXhXVGYmsWUitNlSckqGHOwNFZgFadplOrD+Qzf1XQkP7MH/VB/97DsAAJGtEXW1Uq71Hjnfr/DuBN/YfjF/gU70qEFb7q1sdIiNtjFL2TkOpoW+X/bhhPNheW/fYwyFb6ZHFM6LTgXyuimWRHTOUP3VjZzhNVda79nt+2WZYbS4l8HdMgWpTNHjpVw5PtXESA9KBg/evSRk5fIaXIX5eRXW3baoV9yVzD8O29/IL/DiSk+yNvaO0EHL5c4yGuZJhGzvpiznb2IDVdemJK4Dqzdy5FTN/SGYZhAEr7MguG3Z314hMS2scgMsOMgB64uj/6+6Uw…",
"keyType": "rsa",
"keyBits": 2048,
"revoked": false,
"testing": false
},
{
"selector": "s2",
"found": true,
"record": "k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnNt2/H6bKs99C6DAaokPp62KN9mKaD20D1PBakkObejkJvzM6Un/fKHPeI2/qXdvFFBPQE3mxMNoe+hwBVDgMgCuZEn8J6gZYI4amITure9/ny6+GaNVRoH2m6xAtWwKINkKxMayGiehkWlRVb7D23F0U8y+VDHKQFz1bnXA5jDpcDiMXy8i2lV5vEys+qt+1WGhDKCAwamT8c3xkZz8aXMJaXYCiN2HMgHDU81+mVCk4+u6mY+a98APVfFhsQ0KCq/mVZXaXTV06QrG9M5PtBHUFW7VtwXKp+AFrAut0KW1NnwaA5IGA5sc+n9dma7bSqdfGS+ixdSmJ69NwmYSHw…",
"keyType": "rsa",
"keyBits": 2048,
"revoked": false,
"testing": false
}
]
},
"mx": {
"records": [
{
"priority": 0,
"host": "github-com.mail.protection.outlook.com"
}
],
"nullMx": false,
"hasMail": true
},
"mtaSts": null,
"tlsRpt": null,
"bimi": null,
"issues": [
{
"severity": "warning",
"code": "spf_lookups_near_limit",
"message": "The SPF evaluation uses 10 of the 10 allowed DNS-querying terms; adding another include may break SPF."
},
{
"severity": "warning",
"code": "dkim_key_1024",
"message": "selector1._domainkey: the RSA key is 1024 bits; 2048 bits is the current recommendation."
},
{
"severity": "warning",
"code": "dkim_key_1024",
"message": "k1._domainkey: the RSA key is 1024 bits; 2048 bits is the current recommendation."
},
{
"severity": "info",
"code": "mta_sts_missing",
"message": "No MTA-STS record (_mta-sts TXT). MTA-STS lets receiving domains require TLS for inbound mail; it matters mainly for domains that receive mail."
},
{
"severity": "info",
"code": "tls_rpt_missing",
"message": "No TLS-RPT record (_smtp._tls TXT), so no reports about failed encrypted deliveries are received."
}
],
"note": "Reads public DNS records through DNS-over-HTTPS and judges the published records against RFC 7208 (SPF), RFC 7489 (DMARC), RFC 6376 (DKIM), RFC 8461 (MTA-STS), RFC 8460 (TLS-RPT) and the BIMI draft. The grade is a heuristic score of those records, not proof that mail authenticates. It does not send mail, verify message signatures, test deliverability, fetch the MTA-STS policy file or expand a/mx/exists targets in SPF. Without selector= only common DKIM selectors are tried. The DMARC organizational domain is approximated."
}
curl --location --request GET 'https://zylalabs.com/api/14333/email+authentication+check+api/35927/check+a+domain+spf+dmarc+dkim+and+bimi+records?domain=github.com' --header 'Authorization: Bearer YOUR_API_KEY'
{
"grade": "A",
"score": 90,
"summary": {
"errors": 0,
"warnings": 1,
"infos": 0
},
"spf": {
"record": "v=spf1 include:_spf.google.com ~all",
"qualifierAll": "~",
"mechanisms": 2,
"dnsLookups": 1,
"lookupLimit": 10,
"includes": [
"_spf.google.com"
],
"redirect": null
},
"dmarc": {
"record": "v=DMARC1; p=none; rua=mailto:[email protected]",
"policy": "none",
"subdomainPolicy": null,
"effectivePolicyForQueriedDomain": "none",
"pct": 100,
"rua": [
"mailto:[email protected]"
],
"alignment": {
"dkim": "r",
"spf": "r"
},
"inheritedFrom": null
},
"issues": [
{
"severity": "warning",
"code": "dmarc_policy_none",
"message": "p=none is monitoring only; spoofed mail is still delivered. Move to quarantine or reject once reports look clean."
}
],
"assumptions": {
"note": "Validated offline: no DNS queries were made, so include chains are not followed and the SPF lookup count only covers terms in the text you sent."
},
"checkedAt": "2026-10-21T14:09:46.208Z"
}
curl --location --request POST 'https://zylalabs.com/api/14333/email+authentication+check+api/35928/validate+spf+dmarc+and+dkim+record+text+you+send+in' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"spf":"v=spf1 include:_spf.google.com ~all","dmarc":"v=DMARC1; p=none; rua=mailto:[email protected]"}'
Después de registrarte, a cada desarrollador se le asigna una clave de acceso a la API personal, una combinación única de letras y dígitos proporcionada para acceder a nuestro endpoint de la API. Para autenticarte con el Verificación de autenticación de correo electrónico API simplemente incluye tu token de portador en el encabezado de Autorización.
| Encabezado | Descripción |
|---|---|
Autorización
|
Requerido
Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito.
|
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
Verifica los registros SPF, DMARC y DKIM de cualquier dominio y obtén problemas codificados, una calificación y una puntuación, además de verificaciones de MTA-STS, TLS-RPT, BIMI y MX
Registros SPF DMARC y DKIM para un dominio más MTA-STS TLS-RPT BIMI y presencia de MX Devuelve los registros analizados problemas codificados una calificación y una puntuación
Solo lee los registros DNS públicos No envía correos electrónicos de prueba no recupera el archivo de política MTA-STS y no puede probar que una clave DKIM esté ausente porque el selector puede ser simplemente desconocido
Pase el selector con uno o más nombres separados por comas, hasta 5, como google o selector1,selector2. Sin esto, se prueba con una lista corta de selectores comunes
Verifica el texto del registro SPF DMARC o DKIM que envías en el cuerpo de la solicitud Está fuera de línea no realiza búsquedas DNS y es útil para registros que aún no has publicado
Sí Los resultados se almacenan en caché durante 15 minutos Agrega el parámetro fresh establecido en 1 para omitir la caché por ejemplo justo después de cambiar un registro DNS