Configuración DNS
Configure registros SPF, DKIM y DMARC para su dominio de envío
Después de agregar un dominio, configure los registros DNS requeridos para la autenticación de correo electrónico. MailLand requiere registros SPF, DKIM y DMARC; los tres deben verificarse antes de poder enviar. El registro Return-Path (rebote) personalizado forma parte de la verificación del dominio y está activado por defecto en los dominios nuevos; no bloquea el envío y, hasta que se verifique, MailLand usa su Return-Path predeterminado. Un dominio de seguimiento es opcional.
Obtener instrucciones DNS
Recupere los registros exactos para su dominio:
GET https://api.mail.land/v1/domains/{id}/dns-instructionsAutentíquese con Authorization: Bearer <token> o X-API-Key: <api key>.
curl https://api.mail.land/v1/domains/k3v9x2m8q1w7z4/dns-instructions \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"domain": "yourdomain.com",
"spfRecord": {
"recordType": "TXT",
"hostName": "@",
"value": "v=spf1 include:spf.mlnd.net ~all",
"status": "pending",
"instructions": "Add this TXT record to your domain's root. If you have an existing SPF record, add 'include:spf.mlnd.net' to it instead of creating a new record."
},
"dkimRecord": {
"recordType": "TXT",
"hostName": "mlnd._domainkey",
"value": "v=DKIM1; k=rsa; p=MIIBIjANBgkq...",
"status": "pending",
"instructions": "Add this TXT record with hostname 'mlnd._domainkey' to enable DKIM signing."
},
"dmarcRecord": {
"recordType": "TXT",
"hostName": "_dmarc",
"value": "v=DMARC1; p=quarantine; pct=100; adkim=r; aspf=r; rua=mailto:[email protected]; sp=none",
"status": "pending",
"instructions": "Add this TXT record at the '_dmarc' subdomain to enable DMARC policy. The rua tag sends aggregate reports to a MailLand address. MailLand stores the reports for this domain for your plan's retention period and makes their DMARC pass rate, sending sources and dispositions available through the API (GET /v1/domains/{id}/dmarc/summary and /dmarc/sources). To also receive the reports yourself, add your own address to the rua tag."
},
"trackingRecord": {
"recordType": "CNAME",
"hostName": "track",
"value": "track.mlnd.net",
"status": "pending",
"instructions": "Custom Tracking Links"
},
"bounceRecords": [
{
"recordType": "CNAME",
"hostName": "bounce",
"value": "bounce.mlnd.net",
"status": "pending",
"instructions": "Bounce Domain (Return-Path) DNS-only (not proxied): a proxied record hides the CNAME from mail servers."
}
],
"notes": [
"DNS changes can take up to 48 hours to propagate globally.",
"After adding records, click 'Verify Domain' to check the configuration.",
"All three records (SPF, DKIM, DMARC) must be verified to start sending emails.",
"Use your DNS provider's documentation for specific instructions on adding TXT records."
]
}Cada registro incluye un campo status que indica si ha sido detectado en el DNS:
| Estado | Descripción |
|---|---|
pending | Aún no comprobado |
valid | Registro encontrado y correcto |
invalid | Registro ausente o incorrecto |
trackingRecord solo se devuelve cuando el dominio de seguimiento personalizado está activado, y bounceRecords solo cuando lo está el dominio de rebote personalizado.
Los registros de seguimiento y rebote muestran pending hasta que se verifican, incluso después de una comprobación fallida.
Registros requeridos
SPF (Marco de Política del Remitente)
SPF autoriza a los servidores de MailLand a enviar correo electrónico en nombre de su dominio.
| Campo | Valor |
|---|---|
| Tipo | TXT |
| Nombre | yourdomain.com (o @) |
| Valor | v=spf1 include:spf.mlnd.net ~all |
| TTL | 3600 |
Si ya tiene un registro SPF, agregue include:spf.mlnd.net antes del mecanismo ~all o -all. SPF permite solo un registro TXT por dominio: múltiples registros SPF causan fallas de autenticación.
Ejemplo de SPF existente:
# Before
v=spf1 include:_spf.google.com ~all
# After
v=spf1 include:_spf.google.com include:spf.mlnd.net ~allDKIM (Correo Identificado con Claves de Dominio)
DKIM agrega una firma criptográfica a cada correo electrónico, permitiendo a los destinatarios verificar que el mensaje no fue alterado en tránsito.
| Campo | Valor |
|---|---|
| Tipo | TXT |
| Nombre | mlnd._domainkey.yourdomain.com |
| Valor | v=DKIM1; k=rsa; p=MIIBIjANBgkq... (su clave pública) |
| TTL | 3600 |
MailLand genera un par de claves RSA de 2048 bits al agregar un dominio. El selector predeterminado es mlnd. El valor completo de la clave pública se proporciona en la respuesta de instrucciones DNS.
Las claves públicas DKIM son largas (aproximadamente 400 caracteres). Algunos proveedores DNS dividen los registros TXT en fragmentos de 255 caracteres. La mayoría de los proveedores lo manejan automáticamente: si el suyo no lo hace, envuelva el valor entre comillas dobles y el proveedor debería concatenarlo.
DMARC (obligatorio)
DMARC indica a los servidores de correo destinatarios qué hacer cuando fallan las verificaciones SPF o DKIM. DMARC es obligatorio: la verificación falla sin un registro _dmarc que comience con v=DMARC1 y tenga p=.
| Campo | Valor |
|---|---|
| Tipo | TXT |
| Nombre | _dmarc.yourdomain.com |
| Valor | Use el valor exacto de la respuesta de dns-instructions anterior (incluye una dirección de informes única por dominio) |
| TTL | 3600 |
Opciones de política DMARC:
| Política | Comportamiento |
|---|---|
p=none | Solo monitoreo: sin acción en fallos (bueno para configuración inicial) |
p=quarantine | Enviar fallos a la carpeta de spam (punto de partida recomendado) |
p=reject | Bloquear fallos completamente (más estricto, mejor protección) |
Mail.Land procesa los informes agregados DMARC de su dominio. Publique el valor de la respuesta de dns-instructions tal cual. Su dirección rua (dmarc+<id>@rpt.mail.land) es el receptor de informes de Mail.Land. Los informes de ese dominio o de uno de sus subdominios se guardan durante el periodo de retención de su plan, y su tasa de aprobación DMARC, sus fuentes de envío y las disposiciones aplicadas están disponibles a través de la API: GET /v1/domains/{id}/dmarc/summary y GET /v1/domains/{id}/dmarc/sources. Todavía no hay una página del panel para ellos. Para recibir también los informes usted mismo, agregue su propia dirección a la misma etiqueta: rua=mailto:dmarc+<id>@rpt.mail.land,mailto:[email protected].
Registros opcionales
Ruta de retorno personalizada (dominio de rebote)
El dominio de rebote personalizado forma parte de la verificación del dominio y está activado por defecto en cada dominio nuevo: MailLand envía sus correos con un Return-Path (la dirección «mailed-by») en su propio subdominio, para que SPF quede alineado con su dominio. Agregue un registro CNAME:
| Campo | Valor |
|---|---|
| Tipo | CNAME |
| Nombre | bounce.yourdomain.com |
| Valor | bounce.mlnd.net |
| TTL | 3600 |
Los servidores de correo siguen este CNAME hasta el servidor de correo y el registro SPF de MailLand, así que no agregue registros MX ni TXT en este nombre.
El registro debe ser solo DNS (sin proxy). Un registro con proxy, como la nube naranja de Cloudflare, oculta el CNAME a los servidores de correo y la verificación falla. No use un registro MX que apunte a bounce.mlnd.net: ese host no acepta correo.
MailLand vuelve a comprobar este registro periódicamente. Si se elimina o cambia, el dominio de rebote personalizado deja de estar verificado, recibe una notificación y sus correos usan el Return-Path predeterminado de MailLand hasta que verifique el registro de nuevo. Desactivar y volver a activar la opción también requiere verificar el registro de nuevo.
Puede desactivar el dominio de rebote personalizado en la configuración del dominio, pero solo tras confirmar una advertencia: el dominio envía entonces bajo el sobre de rebote compartido de MailLand, SPF no queda alineado con su dominio y la reputación del sobre se comparte con otros remitentes. Los dominios con la opción desactivada se señalan a los operadores de MailLand. Los dominios creados antes de que esto fuera el valor por defecto conservan su ajuste actual; actívela en la configuración del dominio para obtener el registro.
CNAME de seguimiento
Si utiliza un subdominio de seguimiento personalizado, agregue un CNAME:
| Campo | Valor |
|---|---|
| Tipo | CNAME |
| Nombre | track.yourdomain.com |
| Valor | track.mlnd.net |
| TTL | 3600 |
El registro debe ser solo DNS (sin proxy). Un registro con proxy, como la nube naranja de Cloudflare, responde con otro certificado, y los enlaces con seguimiento y el enlace de baja dejan de funcionar. Después de que el CNAME se verifique, MailLand solicita el certificado y comprueba HTTPS en ese host. Los enlaces siguen usando el host de seguimiento predeterminado de MailLand hasta que esa comprobación se supera. Si sigue fallando, se le notifica. El CNAME se vuelve a comprobar cada hora. Mediante la API, envíe useCustomBounce: false junto con acknowledgeSharedBounceRisk: true; sin ello la solicitud se rechaza con BOUNCE_OPT_OUT_NOT_ACKNOWLEDGED.
MX entrante
Si utiliza el procesamiento de correo electrónico entrante:
| Campo | Valor |
|---|---|
| Tipo | MX |
| Nombre | la raíz (@) de forma predeterminada, o su inboundSubdomain (por ejemplo, in) si configuró uno en la configuración del dominio. Un subdominio conserva su proveedor de buzón actual en la raíz; se acepta correo tanto al subdominio como a la raíz. |
| Valor | mx.mlnd.net |
| Prioridad | 10 |
| TTL | 3600 |
Guías de proveedores DNS
- Inicie sesión en el panel de Cloudflare
- Seleccione su dominio
- Vaya a DNS → Records
- Haga clic en Add Record para cada registro
- Para registros TXT, establezca el estado del proxy en DNS only (nube gris)
- Para registros CNAME, establezca el estado del proxy en DNS only: los CNAME con proxy pueden interferir con la autenticación del correo electrónico
Verificar registros DNS
Después de agregar los registros, verifique que se han propagado:
GET https://api.mail.land/v1/domains/{id}/dns-recordscurl https://api.mail.land/v1/domains/k3v9x2m8q1w7z4/dns-records \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"domain": "yourdomain.com",
"spfRecord": {
"recordType": "TXT",
"hostName": "@",
"value": "v=spf1 include:spf.mlnd.net ~all",
"status": "valid",
"instructions": "Add this TXT record to your domain's root. If you have an existing SPF record, add 'include:spf.mlnd.net' to it instead of creating a new record."
},
"dkimRecord": {
"recordType": "TXT",
"hostName": "mlnd._domainkey",
"value": "v=DKIM1; k=rsa; p=MIIBIjANBgkq...",
"status": "valid",
"instructions": "Add this TXT record with hostname 'mlnd._domainkey' to enable DKIM signing."
},
"dmarcRecord": {
"recordType": "TXT",
"hostName": "_dmarc",
"value": "v=DMARC1; p=quarantine; pct=100; adkim=r; aspf=r; rua=mailto:[email protected]; sp=none",
"status": "valid",
"instructions": "Add this TXT record at the '_dmarc' subdomain to enable DMARC policy. The rua tag sends aggregate reports to a MailLand address. MailLand stores the reports for this domain for your plan's retention period and makes their DMARC pass rate, sending sources and dispositions available through the API (GET /v1/domains/{id}/dmarc/summary and /dmarc/sources). To also receive the reports yourself, add your own address to the rua tag."
},
"trackingRecord": {
"recordType": "CNAME",
"hostName": "track",
"value": "track.mlnd.net",
"status": "valid",
"instructions": "Custom Tracking Links"
},
"bounceRecords": [
{
"recordType": "CNAME",
"hostName": "bounce",
"value": "bounce.mlnd.net",
"status": "valid",
"instructions": "Bounce Domain (Return-Path) DNS-only (not proxied): a proxied record hides the CNAME from mail servers."
}
],
"notes": [
"DNS changes can take up to 48 hours to propagate globally.",
"After adding records, click 'Verify Domain' to check the configuration.",
"All three records (SPF, DKIM, DMARC) must be verified to start sending emails.",
"Use your DNS provider's documentation for specific instructions on adding TXT records."
]
}La propagación DNS puede tardar desde unos pocos minutos hasta 48 horas, dependiendo de su proveedor DNS y el TTL de los registros existentes. La mayoría de los proveedores propagan en 5 a 15 minutos.
Próximos pasos
- Verificación: verificar la propiedad del dominio después de configurar el DNS
- Rotación de claves DKIM: gestionar y rotar las claves DKIM
- Claves API: limitar las credenciales a dominios específicos