Para eliminar la IP del remitente del encabezado Recibido para nuevos envíos de correo, use la header_checks
clave en lugar de la smtp_header_checks
opción:
header_checks = regexp:/etc/postfix/header_checks_submission
La smtp_header_checks
opción solo se aplica al correo que se envía desde Postfix a servidores externos, mientras que la header_checks
opción se aplica al correo entrante enviado desde su cliente a Postfix.
Consulte también Cómo Postfix recibe correo en http://www.postfix.org/OVERVIEW.html para obtener una descripción general de los componentes, el correo va de smtpd -> limpieza -> cola entrante. El smtpd
proceso recibe correo e inyecta el Received
encabezado con la dirección IP del remitente. La header_checks(5)
opción es procesada por el cleanup(8)
componente que desinfecta los encabezados de correo electrónico.
Se no se recomienda establecer una tal header_checks
opción globalmente en su main.cf ya que esto podría modificar el encabezado Recibido en todos los correos electrónicos, incluso las recibidas de los servidores externos. En su lugar, debe configurar su cliente para enviar correos electrónicos a través de un servicio de envío dedicado en el puerto 587, y configurar Postfix para reescribir los encabezados solo para estos envíos autenticados.
En /etc/postfix/master.cf
, agregue las siguientes -o
líneas después de la submission
línea:
submission inet n - y - - smtpd
# Require SASL authentication
-o smtpd_sasl_auth_enable=yes
# Require TLS transport security, do not leak your credentials in plaintext.
-o smtpd_tls_security_level=encrypt`
# Disallow unauthenticated users from sending mail through this port.
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# Use a different cleanup service (see below)
-o cleanup_service_name=ascleanup
Es hora de configurar el servicio de limpieza para una ubicación s autenticada . Elijo el nombre ascleanup
para mantenerlo corto y alineado, pero cualquier nombre funciona. Para hacerlo, duplique la línea del servicio de limpieza en el mismo master.cf
archivo, pero cambie el nombre del primer campo y agregue una nueva opción para seleccionar el archivo de filtro:
cleanup unix n - y - 0 cleanup
ascleanup unix n - y - 0 cleanup
-o header_checks=pcre:/etc/postfix/header_checks_submission
(El uso de la pcre
tabla requiere la instalación postfix-pcre
en Debian, que se encargará automáticamente de actualizar el archivo dynamicmaps.cf. No se necesitan más cambios para esto).
La pieza final es la configuración real del filtro en /etc/postfix/header_checks_submission
. Potencialmente podría usar algo como:
/^Received: .*/ IGNORE
lo que eliminará la línea completa de encabezado Recibido, pero en su lugar también puede soltar la from helo.host (reverse.host.name [192.0.2.1])
parte mientras conserva otra información:
/^Received: from [^ ]+ \([^ ]+ \[[IPv0-9a-f:.]+\]\)\s+(.* \(Postfix\) with .+)$/ REPLACE Received: $1
Si cambió la mail_name
opción, cambie la Postfix
palabra para que coincida con su configuración. (Este patrón es exacto según el código fuente de Postfix, smtpd / smtpd.c .)
Probé esto con postfix 3.4.7-0 + deb10u1 en Debian buster. Para otra gran descripción con el mismo enfoque, consulte Al enviar un correo electrónico con Postfix, ¿cómo puedo ocultar la IP y el nombre de usuario del remitente en el encabezado Recibido?
Con la modificación anterior, se convierte en lo siguiente Received: by ...
:
Received: from debian (unknown [IPv6:fe80::b036:2ff:fe6e:73f4])
by mail.example.nl (Postfix) with ESMTPSA id 1571B910B
for <some@example.com>; Sun, 12 Jan 2020 02:23:15 +0000 (UTC)