Estamos experimentando dificultades. Nuestros ingenieros están trabajando. Consulte status.mailgun.com para obtener actualizaciones en tiempo real.

Solución de problemas con mensajes marcados como "Aceptado" pero no como "Entregado"

Avance del artículo

    Resumen

    La mayoría de las razones por las que tus logs de Mailgun pueden mostrar un mensaje con un evento Aceptado pero ningún evento Entregado relacionado se debe a un problema de DNS subyacente, particularmente con el/los registro(s) MX del destinatario "To:"

    Además, si el mensaje está programado para su entrega en una fecha futura, solo aparecerá un evento Aceptado en los logs de Mailgun hasta que se alcance la hora de entrega.

     

    Contexto

     

    Escenario

    Mailgun documenta el ciclo de vida de los mensajes utilizando Eventos.  Un mensaje con un evento Aceptado indica que Mailgun ha recibido con éxito tu mensaje y lo ha puesto en cola para su procesamiento.  Mientras tanto, un evento Entregado indica que Mailgun ha entregado con éxito tu mensaje al servidor de correo electrónico del destinatario. Para más información sobre todos los tipos de eventos, por favor lee nuestra documentación de la API de Eventos.

    Por lo tanto, si ves dentro de los logs de Mailgun que un mensaje tiene un evento Aceptado pero no un evento Entregado, esto indica que el mensaje está en algún sentido "en proceso" y todavía tiene que intentar la entrega.  

     

    Posibilidades

    Aparte de haber enviado el mensaje a Mailgun en los últimos segundos, las razones por las que un mensaje puede tener un evento Aceptado sin un evento Entregado asociado incluyen las siguientes:

    • El destinatario "To:" (al menos temporalmente) no tiene registros MX publicados en el momento del intento de entrega.
    • El destinatario "To:" tiene más de un host/proveedor MX especificado en sus registros DNS.
    • El mensaje está programado para una fecha de entrega futura mediante el uso del parámetro/encabezado de tiempo de entrega o STO/TZO
    • En muy raras ocasiones, puede haber un ligero retraso en la entrega del email. Si este es el caso de nuestro sistema, actualizaremos la página de estado de Mailgun con la información pertinente.

     

    Solución

     

    Con respecto a Destinatarios "To:" sin registros MX

    Para comprobar el dominio de un destinatario para ver si existe
    algún registro MX actualmente, puedes utilizar una herramienta
    DNS de terceros como MX Toolbox

    En este caso, después de realizar una búsqueda MX en el dominio del destinatario "To:", observarás que no hay registros MX.  Sin registros MX, los servidores de correo electrónico no sabrán dónde enviar los emails para un determinado dominio. 

    En lo que respecta a Mailgun, la falta de registros MX para un dominio de destinatario dará lugar a un evento Aceptado sin un evento Entregado emparejado porque no podemos determinar dónde enviar el mensaje.  

    Una vez que el destinatario añada los registros MX a su dominio, o se resuelva cualquier problema temporal con referencia a la propagación del DNS de su dominio o del host del DNS, puedes volver a enviar el mensaje al destinatario.

     

    Con respecto a Destinatarios "To:" con más de un host/proveedor MX

    Para comprobar el dominio de un destinatario para ver qué 
    registros MX existen actualmente, puede utilizar una herramienta
    DNS de terceros como MX Toolbox

    Para este escenario, después de realizar una búsqueda MX en el dominio del destinatario "To:", observarás que hay dos o más "conjuntos" de registros MX presentes.  Cada "conjunto" (incluso si está compuesto por un solo registro MX) representa un proveedor de correo electrónico o buzón diferente.  Mailgun recomienda tener solo un proveedor de correo electrónico y su(s) registro(s) MX asociado(s) configurado(s) en un dominio, ya que más de uno puede conducir a la entrega dividida (es decir, la entrega impredecible a un conjunto "aleatorio" de registros MX) o a no intentar la entrega en absoluto.

    En lo que respecta a Mailgun, la presencia de más de un host/proveedor MX suele provocar que no se intente la entrega.  La presencia de más de un "conjunto" de registros MX dará lugar a un evento Aceptado sin evento Entregado emparejado porque no podemos determinar a dónde enviar el mensaje.

    Una vez que el destinatario elija un proveedor de correo electrónico o buzón para su dominio, el otro conjunto de registros deberá ser eliminado.  Tendrás que volver a enviar el mensaje al destinatario.

    Como nota adicional, a veces vemos que los clientes añaden los registros MX de Mailgun a su dominio raíz, que ya tiene al menos un registro MX presente apuntando a su proveedor de buzón.  

    dig -t MX dominiodestinatario.com +short
    10 mxa.mailgun.org.
    10 mxb.mailgun.org.
    0 dominiodestinatario.com.

    La solución suele ser eliminar los dos registros MX de Mailgun.  Si necesitas recibir emails en Mailgun, te recomendamos que utilices un subdominio que solo tenga configurados los dos registros MX de Mailgun.  En el ejemplo anterior, la eliminación de los dos registros MX de Mailgun informa a todos los servidores de correo electrónico para que envíen el 100% del correo electrónico destinado a dominiodestinatario.com al proveedor de correo electrónico del dominiodestinatario.com.

     

    Con respecto a los mensajes programados para una fecha de entrega futura

    En este caso, hay programado un mensaje para una fecha de entrega futura (hasta 7 días en el futuro, según el plan de la cuenta). 

    Con respecto a Mailgun, un mensaje programado para una fecha futura resultará en un evento Aceptado sin un evento Entregado emparejado. El evento Entregado solo se generará cuando la fecha/hora programada llegue y el mensaje sea entregado.

    Hay dos métodos para comprobar el evento Aceptado para determinar si el mensaje está programado para una fecha futura. A continuación te mostramos cómo hacerlo:

    Método 1: Comprueba los metadatos del evento para el campo scheduled-for.

      1. En primer lugar, inicia sesión en el Panel de control de Mailgun (si aún no lo has hecho).
      2. A continuación, dentro del panel de navegación izquierdo, haz clic en el producto Send y luego en la opción "Sending" (Envíos) para desplegar su lista de subopciones.
      3. A continuación, haz clic en la subopción "Logs" (Logs).
      4. En la página resultante, habrá una lista de eventos. Cada uno de ellos tendrá un icono de flecha hacia abajo en la parte derecha. Haz clic en el icono de la flecha hacia abajo Captura de pantalla 2019-12-27_at_2.54.25_PM.pngpara el evento en cuestión.
      5. Los metadatos tendrán varias agrupaciones de datos en formato JSON.El grupo de datos "message" tendrá un campo scheduled-for si el mensaje fue programado.
      6. Si está presente, el campo estará formateado en tiempo Unix, que puedes traducir con una herramienta de conversión de tiempo Unix/hora Epoch como este.  Por ejemplo, "scheduled-for": 1318633810.

    Método 2: Compruebe el MIME para el encabezado X-Mailgun-Deliver-By

      1. En primer lugar, inicia sesión en el Panel de control de Mailgun (si aún no lo has hecho).
      2. A continuación, dentro del panel de navegación izquierdo, haz clic en el producto Send y luego en la opción "Sending" (Envíos) para desplegar su lista de subopciones.
      3. A continuación, haz clic en la subopción "Logs" (Logs).
      4. En la página resultante, habrá una lista de eventos. Cada uno de ellos tendrá un icono de engranaje en la parte derecha. Haz clic en el icono de engranaje para el evento en cuestión.
      5. Haz clic en la opción MIME.
      6. El MIME contendrá una cabecera X-Mailgun-Deliver-By si el mensaje fue enviado para una fecha futura. Por ejemplo, X-Mailgun-Deliver-By: Wed, 30 Jun 2099 18:30:00 -0000.

    Una vez que el destinatario añada los registros MX a su dominio, o se resuelva cualquier problema temporal con referencia a la propagación del DNS de su dominio o del host del DNS, puedes volver a enviar el mensaje al destinatario.

     

    Con respecto a un posible, aunque raro, retraso en la entrega del email

    En este caso, si tu envío se ve afectado por un retraso en el sistema de Mailgun, se publicará una incidencia junto con los detalles más actuales en nuestra página de estado

    En estos casos, nuestros equipos trabajarán para entregar los mensajes lo antes posible. Una vez que la incidencia se haya borrado de la página de estado, podrás ver que se habrán reanudado los tiempos de entrega normales.

     

    ¿Necesitas ayuda?

    Nuestro equipo de asistencia en Sinch Mailgun estará encantado de ayudarte. Ponte en contacto con nosotros en la página de Asistencia de tu Panel de control de Mailgun y en breve estaremos contigo.