¡Hola! Tengo un problema extraño en el que he configurado esto siguiendo la guía y ¡funciona de maravilla! Sin embargo, algo ha ido mal con el correo electrónico saliente, que pensé que no se vería afectado por nada de esto. Sidekiq arroja el siguiente error para cada intento de correo electrónico (todos atascados en la lista de Reintentos) desde que activé el receptor de correo:
Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading
Mi búsqueda me lleva a creer que esto está relacionado de alguna manera con TLS. Había descomentado las líneas relacionadas con TLS en el archivo .yml, pero volver a comentarlas tampoco solucionó el problema. Intenté las instrucciones de la guía para resolver conflictos de Postfix, pero aparentemente no tengo Postfix (el directorio /etc/postfix de la guía no existe en mi instancia, ni reconoce postfix como un servicio). Y según los resultados de netstat, solo docker-proxy está usando el puerto 25.
Estamos usando Gmail como servicio SMTP saliente y, de hecho, estábamos usando Gmail para la recepción entrante por sondeo POP3 antes de esto. Eliminé un montón de registros MX que apuntaban a Google, pero la guía decía que hiciera eso.
Este es mi mail-receiver.yml, con ciertos detalles redactados, por supuesto:
## esta es la plantilla del contenedor del receptor de correo
##
## Después de realizar cambios en este archivo, DEBE reconstruir
## /var/discourse/launcher rebuild mail-receiver
##
## ¡TENGA MUCHO CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON MUY, MUY SENSIBLES A ERRORES DE ESPACIOS O ALINEACIÓN!
## visite http://www.yamllint.com/ para validar este archivo según sea necesario
base_image: discourse/mail-receiver:release
update_pups: false
expose:
- "25:25" # SMTP
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
## A dónde debe enviarse el correo electrónico a tu foro. En general, está perfectamente bien
## usar el mismo dominio que el foro mismo aquí.
MAIL_DOMAIN: discourse.[mydomain].org
# descomente estas (¡y el volumen de abajo!) para admitir TLS
POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.[mydomain].org/fullchain.cer
POSTCONF_smtpd_tls_security_level: may
## La URL base para esta instancia de Discourse.
## Esta será la URL de tu sitio de Discourse. Por ejemplo,
## https://discourse.example.com. Si estás ejecutando una configuración de subdirectorio,
## asegúrate de tenerlo en cuenta (es decir, https://example.com/forum).
DISCOURSE_BASE_URL: 'https://discourse.[mydomain].org'
## La clave API maestra de tu foro de Discourse. Puedes obtenerla de
## la pestaña "API" de tu panel de administración.
DISCOURSE_API_KEY: [myapikey]
## El nombre de usuario a utilizar para procesar el correo electrónico entrante. A menos que hayas
## renombrado el usuario `system`, deberías dejarlo como está.
DISCOURSE_API_USERNAME: system
volumes:
- volume:
host: /var/discourse/shared/mail-receiver/postfix-spool
guest: /var/spool/postfix
# descomente para admitir TLS
- volume:
host: /var/discourse/shared/standalone/letsencrypt
guest: /letsencrypt
La tecnología de correo electrónico está un poco fuera de mi experiencia, así que agradezco cualquier consejo, incluso si es para señalar que me perdí algo estúpido al configurarlo. ¡Gracias!