Desajuste del certificado del nombre de host del correo electrónico que causa sobrecarga de la cola de sidekiq, inestabilidad grave del sitio

Esto podría ayudar a encontrar el correcto:

dig +short smtp.mydomain.info|xargs -n 1 nslookup|grep name=

3 Me gusta

Lamentablemente no funciona, el error es el mismo:
SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)

Con la versión 2.9.0.beta4 (0acbd63320) funcionaba, ¿puedo degradar?

Creé una nueva cuenta de correo electrónico temporal con soporte StartTLS, espero que se solucione antes del lanzamiento de la versión 2.9.0.beta5.

2 Me gusta

Seguí el consejo anterior y establecí el nombre de host al nombre en el certificado.

Vale la pena señalar que, en este caso, el problema solo parece haber ocurrido después de una reconstrucción iniciada por el lanzador, en lugar de simplemente una actualización. ¿Quizás un problema con los scripts del lanzador?

2 Me gusta

¿Puedes decirme cómo lo hiciste?
Me estoy volviendo loco, no puedo usar el servidor SMTP con el puerto 25 o 587 sin SSL y TLS

Gracias

1 me gusta

Es posible que no pueda ayudarte entonces, ya que mi configuración no requiere TLS. Creo que lo único que se puede hacer es usar un proveedor de correo electrónico de terceros que proporcione certificados válidos, o esperar una solución que permita evitar este problema.

1 me gusta

¿Probaste el comando dig de Richard para encontrar un nombre de host para tu servidor SMTP para el que tiene un certificado?

1 me gusta

El mío también es sin TLS y SSL :slight_smile:

1 me gusta

Problema similar aquí Can't Send Emails - #14 by sukria. ¿Cambió algo en la imagen base o en una biblioteca o gema externa?

6 Me gusta

Sí, es el mismo problema… comenzó hace unas dos semanas.

1 me gusta

¿Puedes probar ambos?

DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

¿?

2 Me gusta

Son las primeras cosas que intenté pero todavía el mismo error

SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)
1 me gusta

Hola, lo probé con ambas opciones. Todavía no funciona:

  DISCOURSE_SMTP_ADDRESS: REDACTED
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: REDACTED
  DISCOURSE_SMTP_PASSWORD: REDACTED
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (optional, default true)
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
  DISCOURSE_SMTP_AUTHENTICATION: "login"

Todavía obtengo certificate verify failed (self signed certificate).

2 Me gusta

Para mí ha sido un error bloqueante durante mucho tiempo…
Te recomiendo que crees una nueva dirección de correo electrónico temporal que tenga soporte SMTP TLS.

¿Podría estar relacionado con este gem

4 Me gusta

Tengo exactamente el mismo problema. Comenzó ayer, cuando actualicé (mediante reconstrucción) a 2.9.0.beta4 (a5779a7d0b). NO realicé ningún cambio en app.yml, ni en nada más. Solo una reconstrucción.

Ahora tengo más de 1.300 trabajos fallidos.

Estoy viendo errores SSL en los registros (ver abajo para capturas de pantalla), y me pregunto si la reconstrucción está ignorando de repente el flag DISCOURSE_SMTP_ENABLE_START_TLS.

Esto es lo que “siempre” he tenido en mi archivo app.yml: (de nuevo, no se han realizado cambios)

  DISCOURSE_SMTP_ADDRESS: 172.17.0.1
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_AUTHENTICATION: none
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (optional, default true)

EDIT: Esto es lo que veo en los registros de correo electrónico del host (el servidor de correo). Los mensajes de error son nuevos, comenzaron después de la reconstrucción.

El último mensaje sobre Discourse en los registros de correo electrónico antes de la reconstrucción:

May 23 17:16:02 localhost postfix/smtpd[5247]: connect from discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/smtpd[5247]: 0D803B67FB: client=discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/cleanup[5279]: 0D803B67FB: message-id=<topic/421230/2413438.f609f9d756c226a154de43f4@forums.jag-lovers.com>
May 23 17:16:02 localhost postfix/smtpd[5247]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

La primera entrada en los registros de correo electrónico en el servidor después de la reconstrucción:

May 23 17:22:48 localhost postfix/smtpd[10929]: connect from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: SSL_accept error from discourse-docker[172.17.0.2]: -1
May 23 17:22:48 localhost postfix/smtpd[10929]: warning: TLS library problem: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../ssl/record/rec_layer_s3.c:1528:SSL alert number 42:
May 23 17:22:48 localhost postfix/smtpd[10929]: lost connection after STARTTLS from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: disconnect from discourse-docker[172.17.0.2] ehlo=1 starttls=0/1 commands=1/2

Después de esa hora, las entradas para Discourse en los registros de correo electrónico se ven todas así.

Capturas de pantalla:

4 Me gusta

Intenté enviar un mensaje desde el contenedor Docker de Discourse usando curl. Una vez que me aseguré de especificar SMTP en texto plano y el puerto 25, puedo enviar correos electrónicos a través del host sin problemas:

$ cd /var/discourse/
$ sudo ./launcher enter app
Se detectó la arquitectura x86_64.
root@discourse-app:/var/www/discourse# curl smtp://172.17.0.1 --mail-from discourse@mydomain.com --mail-rcpt myname@gmail.com --upload-file README.md
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7077    0     0  100  7077      0   575k --:--:-- --:--:-- --:--:--  575k
root@discourse-app:/var/www/discourse#

Y así se vio esa prueba en los registros de correo electrónico del host:

May 24 16:53:49 localhost postfix/smtpd[25494]: connect from discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/smtpd[25494]: EB62CB5FCD: client=discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/cleanup[26008]: EB62CB5FCD: message-id=<>
May 24 16:53:49 localhost opendkim[1365]: EB62CB5FCD: can't determine message sender; accepting
May 24 16:53:49 localhost postfix/smtpd[25494]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

Dado que no he especificado TLS ni el puerto 25 en mi app.yml, y esto funcionó hasta la reconstrucción de ayer, cada vez parece más que la última versión de Discourse está ignorando mi configuración SMTP en app.yml.

2 Me gusta

@pfaffman y/o @codinghorror, ¿creen que podríamos tener un error aquí, o algo más?

1 me gusta

@gunnar He movido tu publicación aquí ya que este es el problema de correo electrónico que estás describiendo. No estoy seguro de si el error “la publicación ya ha sido tomada” también está siendo causado por esto, pero los detalles que proporcionaste sobre tu correo electrónico pertenecen a este problema.

2 Me gusta

Me parece absurdo que después de 30 días todavía exista este problema…
Tuve que cambiar mi proveedor de correo electrónico para que mi foro volviera a funcionar.

1 me gusta

Eso es frustrante, pero me parece que alguna gema ya no admite ignorar certificados no válidos o transporte no cifrado. Puede ser simplemente que los días de poder enviar correo de esa manera hayan terminado. Pero no estoy experimentando el problema yo mismo, así que no he mirado lo suficientemente de cerca como para saber si tengo razón.

2 Me gusta