Cómo usar Mailjet como servicio SMTP gratuito para Discourse

En este pequeño tutorial te mostraré cómo usar Mailjet como servicio SMTP gratuito para Discourse.

Por el momento, Mailjet te permite enviar 6000 correos electrónicos al mes o 200 por día de forma gratuita y sin compartir tu información de tarjeta de crédito.

Registro
Puedes registrarte aquí: Mailjet (no es un enlace de afiliado)

Luego, valida tu cuenta haciendo clic en el enlace del correo electrónico.

Crea tu dominio
Ve a la configuración de tu cuenta: Mailjet

Haz clic en “Add a Sender Domain or Address” (Agregar un dominio o dirección de remitente)

Luego agrega tu dominio.
(Ten en cuenta que para validar un dominio, necesitas tener acceso a tu alojamiento web o a tu cuenta de registro de dominio.)

Agregar un nuevo dominio

Verifica tu dominio mediante DNS
Inicia sesión en tu proveedor de DNS.

Agrega un nuevo registro DNS basado en la información de Mailjet.

Agrega el nuevo registro DNS TXT a tu servicio DNS. En este caso, Cloudflare.

Finaliza la validación volviendo a tu ventana de Mailjet y presionando “Check Now” (Verificar ahora).

Verás una ventana como esta cuando hayas terminado.

Configura la autenticación SPF
En Mailjet, bajo “Sender & Domain” (Remitente y dominio), encontrarás esta opción.

Crea un nuevo registro DNS TXT con la configuración recomendada:

Después de esto, deberías ver una ventana de configuración verde.

Configura DomainKeys/DKIM

Crea un nuevo registro DNS TXT.
¡Asegúrate de que permanezca en una sola línea!

Configura tu nombre de usuario y contraseña
Primero necesitas generar tu clave secreta, que eventualmente será tu contraseña SMTP. Para ello, ve a la página API Key Management.

En esta página verás que tu API Key (que será tu nombre de usuario SMTP) ya está creada pero parcialmente oculta, mientras que tu Secret key (clave secreta) necesita ser generada:

Haz clic en el botón Generate Secret Key (Generar clave secreta). Esto te mostrará una nueva ventana modal que contiene tu API Key y tu Secret Key. Copia ambas en un lugar seguro, ya que las necesitarás en el siguiente paso. Si pierdes tu Secret key, tendrás que volver a generarla y configurar SMTP en Discourse nuevamente.

Una vez generada, puedes visitar la página de MailJet SMTP and SEND API Settings para obtener el resto de la configuración que necesitarás.

Instalación de Discourse.
En la configuración inicial de Discourse, utiliza la siguiente configuración:

  • Dirección del servidor SMTP = Servidor SMTP de MailJet
  • Puerto SMTP = Puerto SMTP, será 25 o 587; ten en cuenta que algunos proveedores bloquean el puerto 25.
  • Nombre de usuario SMTP = API Key de MailJet que copiaste.
  • Contraseña SMTP = Secret key de MailJet que copiaste.

Tu configuración debería verse similar a esto:

Luego deberías haber terminado y estar listo para usar el servicio. :partying_face: :partying_face: :partying_face:

8 Me gusta

Configuré una cuenta en MailJet y la estoy probando.

Cuando un nuevo usuario registra una cuenta en Discourse, recibe un correo electrónico de activación de noreply@XXX.com. Esto funciona bien.

Pero si el usuario quiere enviarme un correo electrónico a mí (administrador) admin@XXX.com, entonces rebota

554 5.7.1 admin@XXX.com: Acceso de retransmisión denegado

¿Cómo puedo solucionar esto?

Dependiendo de lo que intentes hacer, es probable que no sea un problema de Discourse.

Si intentas usar Mailjet como servidor SMTP para tu correo electrónico individual además de las funciones de correo masivo que utiliza Discourse, realmente no lo admite: ¿Puedo usar Mailjet para mis comunicaciones por correo electrónico internas de la oficina? Necesitarías configurar un servicio diferente para enviar y recibir ese tipo de correo electrónico (Google Workspace, Zoho Mail, etc.)

1 me gusta

@JammyDodger No puedo actualizar esto, pero algunas de las capturas de pantalla y los pasos están desactualizados para este.

1 me gusta

Si te interesa actualizarlo, ¿puedo convertirlo en una wiki y pasarlo a la sección de guías? (:dedos_cruzados:)

1 me gusta

Claro, con gusto lo revisaré y actualizaré lo que pueda, podría tomarme un par de días.

2 Me gusta

@JammyDodger He actualizado la parte de configuración de Discourse. Todavía no he confirmado la configuración de DKIM, etc., veré qué puedo hacer también con eso.

1 me gusta

Una captura de pantalla de Namecheap

Nota:
El propio nombre de dominio no debe incluirse en el campo Host. Esto significa que si necesita agregar el registro para algo._domainkey.sudominio.tld, solo se debe agregar algo._domainkey como valor de Host (incluso si su proveedor de servicios le pidió que agregara el dominio en sí también). Este es un requisito del sistema.

1 me gusta

¡Gracias! ¿Cómo puedo cambiar los datos SMTP después? Esta guía describe cómo hacerlo durante la instalación inicial de Discourse.

No específicamente sobre MailJet, pero Change SMTP settings in a working forum - #5 by slackmoehrle tiene los detalles.