./discourse-setup no rellena DISCOURSE_SMTP_DOMAIN

Hola,

el script bash ./discourse-setup no rellena DISCOURSE_SMTP_DOMAIN en el archivo de configuración PUPS.

Usé rake admin:create dentro del contenedor, para encontrar el siguiente impacto en la GUI;

Por un tiempo se pobló con el nombre del host, estoy bastante seguro. Pero también, en la mayoría de los casos no importa.

¿Hay alguna expresión regular que podamos usar para extraer el dominio de correo electrónico después del @ en DISCOURSE_NOTIFICATION_EMAIL?

entendiendo los casos de implementación donde el dominio de correo electrónico es diferente al dominio web.

Algo como:

DISCOURSE_SMTP_DOMAIN=$(echo "$DISCOURSE_NOTIFICATION_EMAIL" | sed -E 's/^[^@]+@(.+)$/\\1/')

Esta variable establece el nombre de host EHLO utilizado por el cliente durante la conversación SMTP.

Casi nadie la necesita y casi nunca importa a qué está configurada.

(No he encontrado ninguna situación en la que importe)

2 Me gusta

esto se debió a que DO bloqueó el puerto 587, debería haber usado 2525, pero no estoy seguro de cómo funciona esto con Brevo

Podría argumentarse que debería usar el puerto 2525 por defecto o sugerir a la gente que la mayoría de las máquinas virtuales bloquean los puertos SMTP y que la mayoría de los servicios SMTP permiten el puerto 2525 (pero eso ya son muchas palabras)

El hecho de que Digital Ocean bloquee el puerto 587 es una decisión terrible y desinformada sin base en buenas prácticas.

Me sorprende que no hayan comenzado a bloquear el 2525 por defecto por la misma razón.

[quote=“supermathie, post:7, topic:390624”]El hecho de que Digital Ocean bloquee el puerto 587 es una decisión terrible y desinformada sin base en buenas prácticas.
[/quote]

No estoy en desacuerdo. Estoy bastante seguro de que no son los únicos que lo hacen (pero me cuesta respaldarlo). Lo extraño es que siempre lo han hecho de alguna manera, pero luego, en abril pasado (¿?), lo impusieron para todos. Pero “todos” significa algo muy parecido a “todos después de que reinicien la próxima vez” (podría depender de algo más que requiera un reinicio), por lo que podrían pasar meses antes de que reiniciaran (o cambiaran el tamaño de su droplet o algo) y entonces comenzara a suceder.

Y ni siquiera ofrecen un servicio SMTP, así que una vez que bloqueen el 2525 no habrá forma de enviar correo. Tengo mucha gente en DO ya que CDCK los ha recomendado desde el principio (o al menos desde que yo empecé).

2 Me gusta

¿Cómo descubriste esto? ¿Probaste la tarea rake emails:test y, si lo hiciste, fue útil? ¿Sabías que existía?

Gracias, Michael. Esto es lo que realmente sucedió en la instalación de hoy y cómo descubrí que el puerto 587 era la causa raíz.

Cuando ejecuté ./discourse-doctor por primera vez en 50:30, mostró claramente que el SMTP saliente en el puerto 587 estaba fallando. No hubo correos electrónicos de prueba exitosos en ninguna parte de esa parte del proceso. Debido a eso, en 51:38 cambié el puerto SMTP a 2525 y reconstruí el contenedor. Tan pronto como la aplicación volvió a estar en línea, la primera prueba de correo en 57:46 se realizó con éxito de inmediato.

En 57:58 noté que mi cuenta de Mailgun todavía no se había activado, por lo que el doctor tenía razón al decir que el fallo de SMTP no se debía a las credenciales, sino a que el puerto estaba bloqueado por DigitalOcean.

Como Brevo es más rápido de poner en marcha, cambié de proveedor: comencé la configuración en 58:40, seleccioné el plan Gratuito en 1:01:12, cambié los registros DNS en 1:02:29 y actualicé la configuración SMTP en app.yml en 1:04:37. En 1:06:08 señalé que la interfaz gráfica de usuario (GUI) muestra DISCOURSE_SMTP_DOMAIN incluso cuando la variable no se rellena con ./discourse-setup, que es la razón por la que el campo vacío inicialmente me hizo pensar que algo estaba mal configurado.

Después de terminar la configuración de Brevo, volví a ejecutar ./discourse-doctor en 1:42:10, y en 1:42:25 confirmó un correo electrónico saliente exitoso, nuevamente usando el puerto 2525.

Para responder a tus preguntas específicas:

  • ¿Cómo descubrí que DigitalOcean estaba bloqueando el 587?
    ./discourse-doctor informó del fallo del 587 inmediatamente, y cambiar al 2525 lo solucionó al instante. El video muestra esta secuencia claramente.
  • ¿Usé rake emails:test?
    No en ese momento; me estaba basando en ./discourse-doctor y la prueba de correo electrónico de la interfaz de administración. No me di cuenta de que existía emails:test hasta que lo mencionaste. Definitivamente lo usaré en el futuro, ya que proporciona diagnósticos más claros dentro del contenedor.
  • ¿Estaba relacionado el DISCOURSE_SMTP_DOMAIN faltante?
    No, el campo vacío de la GUI fue una pista falsa. El problema real era que DigitalOcean estaba bloqueando el puerto 587; una vez que cambié al 2525, tanto Mailgun (una vez activado) como Brevo funcionaron bien.

Gracias de nuevo; tu explicación de lo que realmente afecta DISCOURSE_SMTP_DOMAIN (solo EHLO) ayudó a aclarar por qué el valor faltante no importaba.