Problemas para enviar correos electrónicos

Hola.

Estaba intentando enviar un correo electrónico después de un cambio de servidor de correo. Antes funcionaba bien, sin embargo, ahora no puedo enviar correos electrónicos. El caso es que la conexión funciona al 100%, como puedes ver. Pero por alguna razón no puede enviar el correo electrónico.

¿Dirección de correo electrónico para prueba de correo? ('n' para omitir) [community@brohosting.eu]:
Enviando correo a community@brohosting.eu. . .
Probando el envío a community@brohosting.eu usando smtppro.zoho.eu:587, nombre de usuario: info@brohosting.eu con autenticación de inicio de sesión.
Conexión al servidor SMTP exitosa.
Enviando a community@brohosting.eu. . .
Fallo al enviar el correo.
fin de archivo alcanzado

¿Alguna sugerencia?

Comprueba que tu proveedor de alojamiento VPS tenga el puerto SMTP desbloqueado (aunque la conexión parezca haberse confirmado)… Comprueba también los registros de tu servicio de correo electrónico para ver si hay pruebas de la solicitud.

1 me gusta

Funciona en mi Raspberry como siempre. Pero sí, la conexión es buena. Consultaré con Zoho.

Ya he visto ese mensaje de "fin de archivo" antes, pero no recuerdo cuál fue la resolución. Es posible que lo encuentres si buscas aquí.

Realmente no debería haber ninguna solución para esto. ¿Por qué necesitaría modificar algo si la conexión fue exitosa?

Además, sí, encontré varios temas como ese, también un hilo en el que respondiste, pero no voy a volver al puerto 465 que está obsoleto. Obviamente, el problema es con Discourse o su biblioteca de envío de correo.

¿Le importaría compartir su archivo app.yml redactado? Creo que falta algo en su sección SMTP o está mal configurado.

1 me gusta

¿Puedo compartir, pero cómo se configuraría incorrectamente si la conexión fuera exitosa?

## esta es la plantilla de contenedor Docker de Discourse todo en uno e independiente
##
## Después de realizar cambios en este archivo, DEBE reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TENGA MUCHO CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON EXTREMADAMENTE SENSIBLES A ERRORES DE ESPACIO EN BLANCO O ALINEACIÓN!
## visite http://www.yamllint.com/ para validar este archivo según sea necesario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Descomente estas dos líneas si desea agregar Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si desea que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulte https://meta.discourse.org/t/17247 para obtener detalles
expose:
  - "8080:8080"   # http
  - "15432:5432" # PostgreSQL
#  - "8443:8443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Establezca db_shared_buffers en un máximo del 25% de la memoria total.
  ## será configurado automáticamente por bootstrap según la RAM detectada, o puede anularlo
  #db_shared_buffers: "256MB"

  ## puede mejorar el rendimiento de la ordenación, pero aumenta el uso de memoria por conexión
  #db_work_mem: "40MB"

  ## ¿Qué revisión de Git debe usar este contenedor? (predeterminado: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  EMBER_CLI_PROD_ASSETS: 1
  # DISCOURSE_DEFAULT_LOCALE: en

  ## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
  ## será configurado automáticamente por bootstrap según las CPU detectadas, o puede anularlo
  #UNICORN_WORKERS: 3

  ## TODO: El nombre de dominio al que responderá esta instancia de Discourse
  ## Requerido. Discourse no funcionará con un número IP simple.
  DISCOURSE_HOSTNAME: community.brohosting.eu

  ## Descomente si desea que el contenedor se inicie con el mismo
  ## nombre de host (-h option) que el especificado anteriormente (predeterminado "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de correos electrónicos separados por comas que se convertirán en administradores y desarrolladores
  ## en el registro inicial, por ejemplo, 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'community@brohosting.eu'

  ## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
  # SE REQUIEREN DIRECCIÓN SMTP, nombre de usuario y contraseña
  # ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas.
  DISCOURSE_SMTP_ADDRESS: smtppro.zoho.eu
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: info@brohosting.eu
  DISCOURSE_SMTP_PASSWORD: "XXXXXXXXXXXX"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, predeterminado true)
  DISCOURSE_SMTP_DOMAIN: brohosting.eu
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_NOTIFICATION_EMAIL: community@brohosting.eu

  ## Si agregó la plantilla Lets Encrypt, descomente a continuación para obtener un certificado SSL gratuito
#  LETSENCRYPT_ACCOUNT_EMAIL: info@brohosting.eu

  ## La dirección CDN http o https para esta instancia de Discourse (configurada para tirar)
  ## consulte https://meta.discourse.org/t/14857 para obtener detalles
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## La clave de dirección IP de geolocalización de MaxMind para la búsqueda de direcciones IP
  ## consulte https://meta.discourse.org/t/-/137387/23 para obtener detalles
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Los plugins van aquí
## consulte https://meta.discourse.org/t/19157 para obtener detalles
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-chat-integration.git


## Cualquier comando personalizado para ejecutar después de la compilación
run:
  - exec: echo "Beginning of custom commands"
  ## Si desea establecer la dirección de correo electrónico 'De' para su primer registro, descomente y cambie:
  ## Después de recibir el primer correo electrónico de registro, vuelva a comentar la línea. Solo necesita ejecutarse una vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

¿info@brohosting.eu tiene la configuración adecuada para enviar correos electrónicos como community@brohosting.eu?

Esto debe verificarse en el extremo de su proveedor de SMTP.

4 Me gusta

Probaré algo y les avisaré.

Gracias Bhanu, no presté suficiente atención a esto, odio la configuración de Zoho porque ocultan estas opciones demasiado.

1 me gusta

¡La buena noticia es que no pasaste 5 días depurando la biblioteca smtp como sugeriste!

(Pasé una docena de horas durante muchos días recientemente depurando el código que insertaba un menú desplegable que no se desplegaba. Revisé el café que insertaba el menú desplegable. Examiné el café que producía los datos para el menú desplegable. Lo comparé con cómo funcionaban otros menús desplegables. Luego, encontré una pequeña línea de CSS que había insertado y que había hecho que no hubiera espacio para que el menú desplegable se desplegara.)

¡Me alegro de que lo hayas solucionado!

3 Me gusta

Quiero decir, al menos podría verificar y generar un mejor error, porque esto es realmente confuso.

Por eso la instalación estándar incluye una lista de proveedores de correo recomendados. Si desea desviarse de esas recomendaciones, también acepta la complejidad técnica adicional que introduce. No todos los servidores de correo se comportan igual, no es el lugar de Discourse abordar eso.

El resumen de lo anterior es que configuró mal Zoho. Discourse no puede ver la configuración allí y asume que le está proporcionando información correcta. Si hubiera vuelto a ejecutar ./discourse-setup, le habría preguntado nuevamente por la dirección de envío, que habría ingresado incorrectamente debido a esta mala configuración.

Podemos salvar a los usuarios de muchos problemas, pero rara vez de sí mismos. La próxima vez, le sugeriría que se concentre en los aspectos más probables y verifique los detalles de los sistemas externos, antes de insistir en que el problema radica en el código que se está utilizando para servir a decenas de millones de usuarios. Probablemente llegará a su respuesta mucho más rápido.

Tienes razón, pero de nuevo, también podrías mencionar esto en la guía de solución de problemas de correo electrónico, incluso si este es un paso bastante obvio antes de configurar Discourse.

De todos modos, estoy agradecido a los chicos de arriba por la ayuda.

Eso sería genial.

Pero no está claro que “fin de archivo alcanzado” siempre signifique “no configuraste tu servicio de correo para la dirección de envío que usaste” o lo que sea que hiciste para solucionar las cosas.

Resulta que hay muchas cosas que se pueden hacer mal después de que Discourse se conecta con éxito a un servidor de correo. Si quieres un mejor mensaje de error, haz que Zoho proporcione uno en lugar de simplemente cerrar la conexión.

1 me gusta

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