Configurar correo electrónico entrante de entrega directa para sitios autohospedados con Mail-Receiver

¡¿Cómo se hace esto para crear una nueva definición de contenedor en ese directorio!?

Ejecutando los comandos que se muestran inmediatamente después de ese texto. Estrictamente hablando, no estás creando el archivo en ese directorio, sino dentro del subdirectorio containers, igual que app.yml.

3 Me gusta

Gracias, al principio no parecían funcionar, pero ahora he llegado al editor de texto con:

Parece haber un problema con esto, al ejecutar

./launcher logs mail-receiver

informa discourse_base_url=https://discourse.example.com, en lugar del dominio especificado en el editor de texto.

Intenté reconstruir/relanzar el bootstrap de mail-receiver pero no ha cambiado al dominio correcto.

1 me gusta

Causa del error

1 me gusta

Tengo un pequeño problema, ¡necesito un consejo!

root@JEN /var/discourse # ./launcher start mail-receiver
Se detectó la arquitectura x86_64.

iniciando contenedor existente
+ /usr/bin/docker start mail-receiver
Respuesta de error del demonio: el controlador falló al programar la conectividad externa en el endpoint mail-receiver (721279d807e22a80580f2357fae40cc): Error al iniciar el proxy userland: listen tcp4 0.0.0.0:25: bind: address already in use
Error: no se pudieron iniciar los contenedores: mail-receiver

luego…

root@JEN /var/discourse # sudo lsof -i tcp:25
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
master  4400 root   13u  IPv4  24419      0t0  TCP *:smtp (LISTEN)
master  4400 root   14u  IPv6  24420      0t0  TCP *:smtp (LISTEN)

También intenté…

root@JEN /var/discourse # netstat -nlp | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      4400/master
tcp6       0      0 :::25                   :::*                    LISTEN      4400/master

y…

root@JEN /var/discourse # ps j 4400
   PPID     PID    PGID     SID TTY        TPGID STAT   UID   TIME COMMAND
      1    4400    4400    4400 ?             -1 Ss       0   0:02 /usr/lib/postfix/sbin/master -w

Estoy encontrando instrucciones en línea para detener el contenedor y matar el proceso (¿proceso 4400?)

¿Es esto seguro y corregirá el problema?

¿Necesito (o debería, o no debería) cambiar el puerto 25 a un puerto diferente en el archivo mail-receiver.yml?

1 me gusta

¿Quizás instalaste postfix y necesitas desinstalarlo?

No puedes cambiar el puerto. Necesitas detener lo que sea que lo esté usando. Simplemente matarlo no funcionará porque cuando reinicies, será una carrera para ver qué proceso se inicia primero.

3 Me gusta

Eso es lo que estaba pensando yo también. No me imagino cómo llegó ahí, pero intentaré quitarlo. De lo contrario, puedo usar Gmail, que parece estar funcionando bien.

2 Me gusta

He movido mi foro a un nuevo entorno y, como resultado, he reinstalado el receptor de correo. Parece que es una versión más reciente de la que tenía instalada anteriormente. La configuración YML ha cambiado un poco con DISCOURSE_BASE_URL reemplazando a DISCOURSE_MAIL_ENDPOINT. El contenido del archivo YML refleja el cambio, pero las instrucciones en la parte superior de este hilo necesitan ser actualizadas.

Además, al recibir un correo electrónico que es rebotado/rechazado, estoy recibiendo los siguientes errores…

Jun 08 11:50:42 mail-receiver postfix/smtp[117]: fatal: unknown service: smtp/tcp
Jun 08 11:50:42 mail-receiver postfix/smtp[118]: fatal: unknown service: smtp/tcp
Jun 08 11:50:43 mail-receiver postfix/qmgr[101]: warning: private/smtp socket: malformed response
Jun 08 11:50:43 mail-receiver postfix/qmgr[101]: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description
Jun 08 11:50:43 mail-receiver postfix/master[1]: warning: process /usr/lib/postfix/sbin/smtp pid 117 exit status 1
Jun 08 11:50:43 mail-receiver postfix/master[1]: warning: /usr/lib/postfix/sbin/smtp: bad command startup -- throttling
Jun 08 11:50:43 mail-receiver postfix/qmgr[101]: warning: private/smtp socket: malformed response
Jun 08 11:50:43 mail-receiver postfix/master[1]: warning: process /usr/lib/postfix/sbin/smtp pid 118 exit status 1
Jun 08 11:50:43 mail-receiver postfix/qmgr[101]: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description

Los mensajes válidos parecen ser manejados correctamente. La versión anterior del receptor de correo no daba estos errores, por lo que pude ver en los archivos de registro recientes. Investigué un poco y encontré - https://blog.badgerops.net/smtp-socket-malformed-response-on-a-fips140-2-sytstem/

Agregar lo siguiente al archivo mail-receiver.yml parece solucionar el problema para mí:

  ## Fix smtp errors
  POSTCONF_smtp_tls_fingerprint_digest: sha256
  POSTCONF_smtpd_tls_fingerprint_digest: sha256
4 Me gusta

Dejo una publicación aquí para informar que hemos agregado soporte DMARC al receptor de correo a través de una imagen discourse/mail-receiver:with-dmarc. Consulte Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver en el OP para más detalles.

3 Me gusta

2 publicaciones se fusionaron en un tema existente: Mail-receiver relay access denied

Quería añadir algo a la sección de Solución de problemas.

Mail-Receiver (entrega directa) funcionaba para varios dominios, pero no recibía mensajes de usuarios de Gmail. No podía averiguar por qué. No había nada en los registros excepto una conexión/desconexión de Google. Todo parecía estar bien y las herramientas en línea confirmaron que el DNS estaba bien.

Finalmente, creé un registro de informe SMTP TLS en DNS, por ejemplo:

_smtp._tls.discourse.mydomain.com TXT v=TLSRPTv1;rua=mailto:me@wherever.com

Unas horas más tarde, Google (Gmail) envió un informe que mostraba que había almacenado en caché una política mta-sts que no reflejaba los registros MX actuales. Me preocupaba que Google mantuviera esa política en caché durante una semana porque parecía haber ignorado mi registro DNS _mta-sts actualizado que debería haber provocado una actualización.

Y poco después, todo mi Gmail de copia de seguridad comenzó a fluir hacia Discourse sin que yo hiciera nada. El informe me ayudó a comprender la perspectiva de Google sobre el problema y me ahorró tener que rascarme la cabeza cuando los mensajes comenzaron a fluir.

Los informes SMTP TLS se emiten con poca frecuencia, así que tenga paciencia.

3 Me gusta

Dado que la guía no dice nada sobre la configuración de MTA STS, ¿no confundirían los pasos de diagnóstico para eso al 99.999%+ de los usuarios que no lo configuran?

2 Me gusta

En mi caso, la adición de un único registro DNS fue suficiente para arrojar luz sobre mi problema. Dado que la guía ya instruye la creación de registros DNS para la instalación de Mail-Receiver, sugerir un registro adicional en la sección de Solución de problemas como último recurso no parece descabellado. Sin embargo, veo que tu publicación tiene dos ‘me gusta’ y la mía ninguno, así que ese podría ser el final de la historia.

1 me gusta

Son buenas noticias, esta parece ser información útil para añadir a la guía, especialmente porque Gmail es un remitente común.

La guía instruye sobre la creación de registros DNS para que mail-receiver funcione, no para configurar MTA STS. Por lo tanto, un usuario que siga la guía nunca tendrá el problema que tuviste. Por lo tanto, no hay necesidad de complicar la guía con pasos adicionales e innecesarios.

1 me gusta

En general, ¿es el receptor de correo capaz de procesar correos enviados por Gmail a nuevos temas?

Este parece ser un problema importante, pero no si la causa es un incidente aislado.

He llegado a la conclusión de que Matt tiene razón. Mi instalación tuvo que lidiar específicamente con MTA-STS porque el correo normal de su dominio es manejado por Mail In a Box https://mailinabox.email/ que insiste en una política MTA-STS estricta y Gmail hace cumplir esa política. Por defecto, la política podría entrar en conflicto con la configuración de Mail-Receiver. La mayoría de los dominios no tendrán una política. Si un dominio tiene una política, será visible en

https://mydomain.com/.well-known/mta-sts.txt

Mi política de trabajo se ve así…

version: STSv1
mode: none
mx: mail.mydomain.com
mx: discourse.mydomain.com
max_age: 86400

Espero actualizar "mode: none" a "mode: enforce" después de un poco más de trabajo.

2 Me gusta

¿Alguien podría recordarme, cuando reconstruimos Discourse en la línea de comandos, si reconstruye automáticamente el contenedor del receptor de correo o si necesitamos hacerlo por separado? Gracias.

No lo hace; solo se reconstruye cuando se lo indicas. No necesitas reconstruir el receptor de correo a menudo.

2 Me gusta

Definitivamente me ayudó:)

1 me gusta