Los trabajos de correo electrónico fallan después de la última actualización, la verificación del certificado falló (no se puede obtener el certificado del emisor local)

Lo siento por otra pregunta redundante, ya que puedo ver que hay muchas solicitudes de soporte similares a esta, por ejemplo: Email Notifications Failing after Update , pero nuestro mensaje de error es ligeramente diferente:

"certificate verify failed (unable to get local issuer certificate)"

Esto es después de la actualización del 11 de mayo a la versión 2.9.0
from_version: a76256756fc8442eab960cc1c7d37a737efb5a69,
repository: /var/www/discourse, /var/www/discourse/plugins/styleguide

que veo en GitHub afecta a sidekiq, ¿se está volviendo más quisquilloso de repente? También estoy abordando esto con nuestro mailrelay, pero si puedo darles información más específica sobre cómo solucionarlo, o si está del lado de mi foro (https://forum.solarfarmer.dnv.com/) entonces eso nos ayudaría a solucionar problemas más rápido.

Gracias por cualquier ayuda.

1 me gusta

Este es el mismo problema que Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability

3 Me gusta

@RGJ Intenté ejecutar

openssl s_client -connect  smtp.mydomain.info:25 -starttls smtp -showcerts 2>&1|grep "depth=0"

pero no muestra ningún otro dominio, solo dice el mismo error que sidekiq: “unable to get local issuer certificate” y un montón de otras cosas. Intenté cambiar la configuración de correo de app.yml a nuestro relay de correo y de vuelta, y ejecutar ./launcher rebuild app cada vez, pero hasta ahora nada funciona.

1 me gusta

Hay tres causas posibles para esto:

  • certificado caducado
  • el nombre de host en el certificado es diferente al nombre de host al que te estás conectando
  • ningún certificado en absoluto

Parece que estás experimentando lo último. La única solución es asegurarte de tener un servidor SMTP configurado correctamente, que admita STARTTLS y con un certificado correcto.

3 Me gusta

Gracias @RGJ, pero ¿por qué este problema solo comenzó después de actualizar a la versión 2.9.0? ¿Es porque STARTTLS está siendo más estricto en la aplicación de este requisito? Nada ha cambiado en nuestro relé de correo ni en la configuración de correo de app.yml. La IP del sitio está en la lista blanca con el relé de correo, que es mantenido por el departamento de TI. No tengo ningún control sobre él. El CNAME del sitio también está controlado por nuestro departamento de TI. Tienen dominios diferentes, el CNAME es “dnv.com” y el relé de correo es “dnvgl.com”, ¿es eso parte del problema? Estoy investigando esto en paralelo con nuestro departamento de TI, pero tratando de darles la mayor cantidad de información posible. Pido disculpas por mi ignorancia, mucho de esto está por encima de mi nivel, así que puedo estar usando términos incorrectos. Lo siento :frowning:

1 me gusta

Debido a que hubo un cambio donde Discourse se actualizó a Rails 7 entre la beta3 y la beta4 de la versión 2.9.0, lo que provocó esto.

Ver Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability - #47 by RGJ

3 Me gusta

Nuestro departamento de TI dice: “no hay nada malo con los certificados [para el retransmisor de correo], todos están activos y configurados correctamente para ser utilizados con el servicio smtp. Segundo: no he oído hablar de ningún problema de otros servicios/clientes que estén utilizando este retransmisor de correo”. :cry:

1 me gusta

TI ha creado una nueva cuenta de correo electrónico usando office365 en microsoft, pero todavía tengo problemas. Ahora obtengo ReadTimeout o SMTPAuthenticationError: Unrecognized authentication type

mi configuración actual:

DISCOURSE_SMTP_ADDRESS: smtp.office365.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: myusername
DISCOURSE_SMTP_PASSWORD: "mypassword"  # ¿se necesitan comillas?
DISCOURSE_SMTP_ENABLE_START_TLS: true  # ¿es esto correcto?
DISCOURSE_SMTP_DOMAIN: outlook.com  
DISCOURSE_NOTIFICATION_EMAIL: myusername@mycompany.onmicrosoft.com

donde mis* son específicos de la nueva cuenta de correo electrónico.

1 me gusta

@RGJ Quiero agradecer a todos por su ayuda. Finalmente, finalmente he resuelto esto. El ajuste para office365 es usar DISCOURSE_SMTP_AUTHENTICATION: login.

El servidor smtp y la configuración de puerto de office365 son smtp.office365.com:587 con STARTTLS habilitado, que de todos modos es el predeterminado.

Y el nombre de usuario es la dirección de correo electrónico completa en la organización que utiliza office365, generalmente myaccount@mycompany.onmicrosoft.com. Esto puede o no ser lo mismo que su correo electrónico de notificación.

Aquí está mi configuración final:


  DISCOURSE_SMTP_ADDRESS: smtp.office365.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: myacct@mycompany.onmicrosoft.com
  DISCOURSE_SMTP_PASSWORD: mypassword
  DISCOURSE_SMTP_ENABLE_START_TLS: true
  DISCOURSE_SMTP_DOMAIN: outlook.com
  DISCOURSE_NOTIFICATION_EMAIL: myacct@mycompany.com
  DISCOURSE_SMTP_AUTHENTICATION: login

¡según Mail Tester es 10 de 10!

2 Me gusta

Estamos experimentando el mismo problema aquí con un servidor SMTP PROPIAMENTE configurado utilizado por docenas de otros servicios. El servidor SMTP emplea un certificado comodín emitido por Let’s Encrypt.
El error dice: " (unable to get local issuer certificate)"

Creo que es un error como se describe en Disabling starttls or certificate verification does not work any more

Excepto que dices que tienes un certificado válido. Así que podría estar equivocado.

intenta verificar el nombre de dominio usando los comandos recomendados por @RGJ

openssl s_client -connect  smtp.mydomain.info:25 -starttls smtp -showcerts 2>&1|grep "depth=0"

asegúrate de que tu dominio coincida con el certificado devuelto por openssl si lo hay. También consulta este hilo “Email Hostname Cert Mismatch Causing sidekiq…” enlazado arriba.

Además, la guía de solución de problemas de correo electrónico me ayudó mucho. Tuve que leerla muy atentamente varias veces para obtener lo que necesitaba. ¿Quizás encuentres algo allí?

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.