📬 Advertencias y conexiones repetidas de Postfix tras la implementación de valid_recipients

Cómo recargar Postfix con Discourse AI

Ethsim2:

¿es correcto que modifiqué main.cf?

DiscourseHelper:

Búsqueda

Buscando: ¿Es necesario o recomendable modificar manualmente postfix main.cf al implementar un archivo valid_recipients para restricciones de destinatarios en un contenedor de receptor de correo de Discourse? ¿Se debe editar main.cf directamente, o todos los cambios recomendados se manejan mediante variables de entorno de docker o configuraciones de archivo yml del lanzador para configuraciones de receptores de correo de Discourse?

Lectura

Leído: 📬 Advertencias y conexiones repetidas de Postfix después de la implementación de valid_recipients

No, no es necesario ni recomendable modificar manualmente main.cf en el contenedor del receptor de correo para filtrar destinatarios válidos al seguir la configuración estándar de Discourse.

Enfoque Correcto:
La guía oficial de receptor de correo y la configuración del contenedor de Discourse están diseñadas para que no edites main.cf manualmente. En su lugar:

  • Debes usar la sección env de mail-receiver.yml para establecer parámetros de Postfix, específicamente usando una variable de entorno como:

    POSTCONF_smtpd_recipient_restrictions: texthash:/etc/postfix/valid_recipients
    

    o, si usas el estilo de configuración más antiguo:

    POSTCONF_smtpd_recipient_restrictions: check_recipient_access hash:/etc/postfix/valid_recipients, reject
    
  • Docker/launcher aplica correctamente estas configuraciones al iniciar el contenedor, inyectándolas en Postfix sin necesidad de editar archivos directamente.

Editar main.cf directamente puede causar conflictos o ser sobrescrito en reconstrucciones del contenedor. También es fácil romper cosas (como el formato del archivo o el mapeo de destinatarios) de esta manera.

Sobre Tu Error:
Las advertencias que ves:

warning: /etc/postfix/valid_recipients, line 1: expected format: key whitespace value -- ignoring this line

son causadas por un archivo valid_recipients mal formateado, no por cómo se establece la configuración (env vs main.cf). Asegúrate de que tus entradas sean como:

alloweduser@yourdomain.com OK
another@yourdomain.com OK
default REJECT

Sin dos puntos, signos de igual o comas, solo la dirección, espacio en blanco y OK (o REJECT).


No edites main.cf a menos que tengas una configuración altamente avanzada y completamente personalizada y entiendas exactamente lo que estás haciendo.
Todas las instrucciones normales (incluido el filtrado de destinatarios y remitentes válidos) se realizan estableciendo variables de entorno en mail-receiver.yml.


Referencias:

Resumen:
No deberías necesitar tocar main.cf para configuraciones estándar de receptor de correo de Discourse. Las variables de entorno en el yml son la forma recomendada y compatible. Para los mapas de destinatarios, usa siempre formatos hash/texthash correctos y sintaxis de archivo correcta.


en realidad he eliminado por completo la configuración personalizada, la configuración descrita aquí, y mi prueba de correo funcionó bien.

Se detectó la arquitectura x86_64.
Asegurando que el lanzador esté actualizado
Obteniendo origen
El lanzador está actualizado
Deteniendo contenedor antiguo
+ /usr/bin/docker stop -t 600 mail-receiver
mail-receiver
release: Extrayendo de discourse/mail-receiver
Digest: sha256:2a0d45bb92a783c846a821e635413764eeadb3441ef6190085545a4[9 dígitos redactados]
Status: La imagen está actualizada para discourse/mail-receiver:release
docker.io/discourse/mail-receiver:release
ERROR: No se puede encontrar la biblioteca Ruby o la biblioteca compartida pups
cd /pups && /pups/bin/pups --stdin
/bin/bash: advertencia: setlocale: LC_ALL: no se puede cambiar la configuración regional (en_US.UTF-8)
sha256:[6 dígitos redactados]69734d779a95ec83c7103dc2fc04f1d690ebde62[18 dígitos redactados]
[¿Clave API de 64 caracteres? Redactado]
Eliminando contenedor antiguo
+ /usr/bin/docker rm mail-receiver
mail-receiver

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e MAIL_DOMAIN=discourse. MIOTRODOMINIO.com -e DISCOURSE_BASE_URL=https:// MIOTRODOMINIO.com -e DISCOURSE_API_KEY=[clave API de 64 dígitos redactada] -e DISCOURSE_API_USERNAME=system -h ubuntu-mail-receiver -e DOCKER_HOST_IP=172.17.0.1 --name mail-receiver -t -p 25:25 -v /var/discourse/shared/mail-receiver/postfix-spool:/var/spool/postfix --mac-address [dirección MAC redactada] local_discourse/mail-receiver /sbin/boot
[¿Clave API de 64 dígitos? Redactado]
root@ubuntu:/var/discourse# ./launcher logs mail-receiver
Se detectó la arquitectura x86_64.
/bin/bash: advertencia: setlocale: LC_ALL: no se puede cambiar la configuración regional (en_US.UTF-8)
Entorno operativo:
HOSTNAME=ubuntu-mail-receiver
LANGUAGE=en_US.UTF-8
MAIL_DOMAIN=discourse.MIOTRODOMINIO.com
DOCKER_HOST_IP=172.17.0.1
PWD=/
DISCOURSE_BASE_URL=https:// MIOTRODOMINIO.com
HOME=/root
LANG=en_US.UTF-8
TERM=xterm
SHLVL=1
DISCOURSE_API_USERNAME=system
LC_ALL=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
INCLUDE_DMARC=true
DISCOURSE_API_KEY=[clave API de 64 dígitos redactada]
_=/usr/bin/env
Entregando correo enviado a discourse.MIOTRODOMINIO.com a Discourse
Iniciando OpenDKIM...
perl: advertencia: Falló la configuración de la configuración regional.
perl: advertencia: Por favor, compruebe que su configuración regional:
        LANGUAGE = "en_US.UTF-8",
        LC_ALL = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    estén soportadas e instaladas en su sistema.
perl: advertencia: Volviendo a la configuración regional estándar ("C").
Añadiendo usuario `postfix' al grupo `opendkim'...
<86>Jul 23 13:27:19 usermod[16]: add 'postfix' to group 'opendkim'
<86>Jul 23 13:27:19 usermod[16]: add 'postfix' to shadow group 'opendkim'
Hecho.
Iniciando OpenDMARC...
perl: advertencia: Falló la configuración de la configuración regional.
perl: advertencia: Por favor, compruebe que su configuración regional:
        LANGUAGE = "en_US.UTF-8",
        LC_ALL = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    estén soportadas e instaladas en su sistema.
perl: advertencia: Volviendo a la configuración regional estándar ("C").
<22>Jul 23 13:27:19 opendkim[24]: OpenDKIM Filter v2.11.0 starting (args: -x /etc/opendkim.conf)
Añadiendo usuario `postfix' al grupo `opendmarc'...
<86>Jul 23 13:27:19 usermod[31]: add 'postfix' to group 'opendmarc'
<86>Jul 23 13:27:19 usermod[31]: add 'postfix' to shadow group 'opendmarc'
Hecho.
<22>Jul 23 13:27:19 opendmarc[39]: OpenDMARC Filter v1.4.2 starting (args: -c /etc/opendmarc.conf)
<22>Jul 23 13:27:19 opendmarc[39]: servicios de autenticación confiables adicionales: (ninguno)
postfix: Postfix está usando configuraciones predeterminadas compatibles con versiones anteriores
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: Postfix está usando configuraciones predeterminadas compatibles con versiones anteriores
postfix: Ver http://www.postfix.org/COMPATIBILITY_README.html para más detalles
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: Ver http://www.postfix.org/COMPATIBILITY_README.html para más detalles
postfix: Para deshabilitar la compatibilidad con versiones anteriores, usa "postconf compatibility_level=3.6" y "postfix reload"
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: Para deshabilitar la compatibilidad con versiones anteriores, usa "postconf compatibility_level=3.6" y "postfix reload"
Iniciando Postfix
Jul 23 13:27:19 ubuntu-mail-receiver postfix/master[1]: daemon started -- version 3.7.11, configuration /etc/postfix
Jul 23 13:27:53 ubuntu-mail-receiver postfix/smtpd[122]: connect from mail-il1-f180.google.com[209.85.166.180]
<22>Jul 23 13:27:54 policyd-spf[129]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.166.180; helo=mail-il1-f180.google.com; envelope-from= persona@gmail.com; receiver=discourse.MIOTRODOMINIO.com
Jul 23 13:27:54 ubuntu-mail-receiver postfix/smtpd[122]: BC6D71BF9C8: client=mail-il1-f180.google.com[209.85.166.180]
Jul 23 13:27:54 ubuntu-mail-receiver postfix/cleanup[130]: BC6D71BF9C8: message-id=<CWXP1[8 dígitos redactados]81B627937FA7F4B2CE65A15FA@CWXP123MB2918.GBRP123.PROD.OUTLOOK.COM>
<22>Jul 23 13:27:55 opendkim[24]: BC6D71BF9C8: DKIM verification successful
<22>Jul 23 13:27:55 opendkim[24]: BC6D71BF9C8: s=20230601 d=gmail.com a=rsa-sha256 SSL
<22>Jul 23 13:27:55 opendmarc[39]: implicit authentication service: ubuntu-mail-receiver.localdomain
<22>Jul 23 13:27:55 opendmarc[39]: BC6D71BF9C8: gmail.com pass
Jul 23 13:27:55 ubuntu-mail-receiver postfix/qmgr[120]: BC6D71BF9C8: from=<persona@gmail.com>, size=75533, nrcpt=1 (queue active)
Jul 23 13:27:55 ubuntu-mail-receiver postfix/smtpd[122]: disconnect from mail-il1-f180.google.com[209.85.166.180] ehlo=1 mail=1 rcpt=1 bdat=2 quit=1 commands=6
<23>Jul 23 13:27:55 receive-mail[133]: Recipient: persona.REDACTED@discourse.MIOTRODOMINIO.com
Jul 23 13:27:55 ubuntu-mail-receiver postfix/pipe[132]: BC6D71BF9C8: to=< persona.REDACTED@discourse.MIOTRODOMINIO.com>, relay=discourse, delay=1.8, delays=1.6/0.01/0/0.22, dsn=2.0.0, status=sent (delivered via discourse service)
Jul 23 13:27:55 ubuntu-mail-receiver postfix/qmgr[120]: BC6D71BF9C8: removed