
He configurado una configuración básica de Postfix para enviar correo usando un servidor de retransmisión smtp externo y resolver el correo de dirección local a través de /etc/aliases
. El envío de correo electrónico funciona (mediante el sendmail
comando). Sin embargo, cuando recibo el correo, To:
falta el encabezado; no aparece en el mensaje de correo electrónico sin formato.
Pregunta:¿Cómo puedo hacer que To:
aparezca el encabezado en el correo de recepción?
Más detalles
Por ejemplo, cuando envío esto desde la línea de comando:
echo -e "Subject: test no header\n\nBody message" | sendmail [email protected]
o
echo -e "Subject: test no header\n\nBody message" | sendmail root
con /etc/aliases
tener una linearoot: [email protected]
Recibo el correo electrónico en ambos casos. Pero en ambos casos, el To:
encabezado no está ahí.
El correo sin formato se ve así:
Return-Path: <[email protected]>
X-Envelope-To: [email protected]
X-Footer: aW5kaWdvbWVkLmNvbQ==
Received: from .....
Received: by ...
Delivered-To: [email protected]
Received: by myhost.mydomain.com (Postfix, from userid 0)
id 70CD8A03; Tue, 12 Jan 2021 14:48:16 +0100 (CET)
Subject: test no header
Message-Id: <[email protected]>
Date: Tue, 12 Jan 2021 14:48:16 +0100 (CET)
From: root <[email protected]>
Body message
Lo que ya probé:
Enviar el correo a través de
mailx
SÍ inserta el encabezado Para:, por ejemploecho -e "Body message" | mailx root -s "Subject: test no header"
Ya intenté configurar
always_add_missing_headers = yes
pero/etc/postfix/main.cf
no ayuda.
Algunas partes relevantes (creo) de mi /etc/postfix/main.cf
archivo:
...
append_dot_mydomain = no
...
# General
myhostname = myhost.mydomain.com
myorigin = myhost.mydomain.com
mydestination = $myhostname localhost.$mydomain localhost myhost
...
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
....
relayhost = mail.something.com:465
Respuesta1
No necesita ningún To:
encabezado para que los mensajes se entreguen a su destino. Para ello sólo se utiliza el sobre SMTP.
A diferencia de la mailx
herramienta, el sendmail
comando simple no es un cliente de correo completo.
El comando sendmail no creará un mensaje de correo con el formato adecuado, solo el sobre SMTP mínimo para garantizar una transmisión exitosa. Si desea un mensaje de correo electrónico con el formato adecuado, eso es lo que debe proporcionar al comando sendmail como entrada (estándar).
En otras palabras:
Debe proporcionar a sendmail un mensaje que consta de encabezados, cada encabezado en una nueva línea con dos puntos que separan el encabezado del valor del encabezado, con encabezados largos que continúan en la línea siguiente y comienzan con uno o más espacios. Luego, una línea vacía que separa los encabezados del mensaje del cuerpo. Luego el cuerpo del mensaje.
Algo como esto
To: [email protected]
Content-Type: text/plain; charset=us-ascii>
From: [email protected] (Hermanb)
Subject: A very very long
subject header spanning multiple lines
Date: Tue, 12 Jan 20121 15:46:24 +0200
test test
More test text
.
Respuesta2
Cuando agrego siempre_add_missing_headers = sí, funciona para mí