550 Verificación fallida: 'No existe el usuario' (verificación de callback)

Hola a todos,
Estoy teniendo algunos problemas de correo con una nueva instalación de Discourse en un subdominio. He revisado la solución de problemas y aún tengo el problema. En esencia, los correos electrónicos de Discourse a través de MailGun no llegan a las direcciones de correo en mi alojamiento.
Algunos detalles del entorno de instalación:

  • Alojado en Vultr
  • Subdominio en alojamiento estándar
  • Usando Cloudflare
  • Usando Mailgun

Otros detalles:

  • Los correos electrónicos de Mailgun-Discourse sí llegan a otros servicios (como Gmail) e incluso a mail-tester.com sin problemas.
  • Otros tipos de correos electrónicos llegan al destinatario (es decir, correos normales enviados desde mi dirección de Gmail).
  • Los registros DNS y MX en Cloudflare están configurados y actualizados en Mailgun.

No es realmente importante que los correos lleguen a esas cuentas de correo en mi alojamiento (aunque quería usar una de ellas como administrador), pero me preocupa que esto también pueda ocurrir con otras direcciones de correo autoalojadas.

Encabezado del correo de error:

{
    "severity": "permanent",
    "tags": [],
    "storage": {
        "url": "https://sw.api.mailgun.net/v3/domains/[subdomain here]messages/eyJwIjpmYWxzZSwiayI6IjgwYzAzNzQ2LTN.........",
        "key": "eyJwIjp...."
    },
    "delivery-status": {
        "mx-host": "dc-94c828295f73.[domain here[",
        "attempt-no": 1,
        "description": "",
        "session-seconds": 0.5889058113098145,
        "code": 550,
        "message": "Verification failed for \u003cbounce+f45d38.b55c5c-[username]=[domain]@[subdomain]\u003e\nNo Such User Here\nSender verify failed"
    },
    "recipient-domain": "[domain here]",
    "id": "DSLvcNXnTEKYl7gsFOGkDg",
    "campaigns": [],
    "reason": "generic",
    "user-variables": {},
    "flags": {
        "is-routed": false,
        "is-authenticated": true,
        "is-system-test": false,
        "is-test-mode": false
    },
    "log-level": "error",
    "timestamp": 1535055760.1404,
    "envelope": {
        "transport": "smtp",
        "sender": "noreply@[subdomain]",
        "sending-ip": "184.173.153.194",
        "targets": "[user]@[domain]"
    },
    "message": {
        "headers": {
            "to": "[recipient user]@[recipient-domain]",
            "message-id": "e438348c-9414-48e8-8af3-25df2174d5f7@[discourse subdomain]",
            "from": "Discourse \u003cnoreply@[discourse subdomain]\u003e",
            "subject": "Email Deliverability Test"
        },
        "attachments": [],
        "size": 7127
    },
    "recipient": "[recipient user]@[recipient-domain]",
    "event": "failed"
}

Cita de la respuesta del ticket de Mailgun:

El error que estás viendo es el resultado de la verificación de la dirección del remitente, y puedes leer más al respecto en el siguiente enlace: Callback verification - Wikipedia. Esencialmente, esto significa que el dominio del destinatario está realizando una verificación para asegurarse de que la dirección de envío sea válida.

Las siguientes opciones te ayudarán a resolver este error:

  1. Desactivar la verificación de la dirección del remitente (esto se realiza en el lado del servidor).
  2. Agregar “x-mailgun-native-send: true” al encabezado de tu mensaje para desactivar la reescritura de la dirección del remitente.
  3. Enviar desde un subdominio de tu dominio.
  4. Cambiar los registros MX para que apunten a Mailgun. ( Advertencia: no hagas esto a menos que tengas una configuración de enrutamiento que redirija de vuelta al servidor interno.)
  5. Crear un catch_all con el servicio donde recibes el correo electrónico para que, cuando el servidor del destinatario verifique, la verificación sea exitosa.

¿Alguien tiene alguna sugerencia sobre esto?

¡Muchas gracias!

Daniel

I see that you have enabled cloudflare on your mx records as well!

Can you try again by disabling cloudflare on your mx domain/subdomain?

I Noticed your forum runs on http not https is there a purpose for that?

Right… So it looks like it is fixed now…
Just for future reference from someone having this problem, I just went to cPanel > Email Routing, and for the subdomain I am using for Discourse (and thus the subdomain Mailgun generates the postmaster/no-reply emails) I chose “Remote Mail Exchanger” and click on “Change”
Seems to work now with all emails… :roll_eyes:

Hi Bhanu,
Thanks for your reply. See below, looks like I managed to sort it out.
Re: SSL, because Let’sEncrypt+Cloudflare was a nightmare to set up for the main site, I am using Cloudflare’s shared certificated for the main site. Not sure how to manage it with Cloudflare + Ubuntu, hence why no HTTPS. If you have any links I can look at, that’d be amazing!
Kind Regards,
Daniel

Just disable cloudflare optimization for your forum subdomain and it should in theory be able to generate ssl for you.