Postfix fügt nichts hinzu: Header für ausgehende E-Mails

Postfix fügt nichts hinzu: Header für ausgehende E-Mails

Ich habe ein grundlegendes Postfix-Setup konfiguriert, um E-Mails über einen externen SMTP-Relayhost zu senden und lokal adressierte E-Mails über aufzulösen /etc/aliases. Das Senden von E-Mails funktioniert (über den sendmailBefehl). Wenn ich die E-Mail jedoch empfange, To:fehlt der Header; er wird nicht in der Roh-E-Mail-Nachricht angezeigt.

Frage:Wie kann ich erreichen, dass der To:Header in der empfangenen E-Mail angezeigt wird?

Mehr Details

Wenn ich beispielsweise Folgendes von der Befehlszeile sende:

echo -e "Subject: test no header\n\nBody message" | sendmail [email protected]

oder

echo -e "Subject: test no header\n\nBody message" | sendmail root

mit /etc/aliaseseiner Linieroot: [email protected]

Ich erhalte die E-Mail in beiden Fällen. Aber in beiden Fällen To:ist der Header nicht vorhanden.

Die Rohmail sieht folgendermaßen aus:

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

Was ich bereits versucht habe:

  • Beim Senden der E-Mail über mailxwird der To:-Header eingefügt, z. B.echo -e "Body message" | mailx root -s "Subject: test no header"

  • Ich habe bereits versucht, always_add_missing_headers = yeses zu konfigurieren, /etc/postfix/main.cfaber es hilft nicht.

Einige relevante Teile (glaube ich) aus meiner /etc/postfix/main.cfDatei:

...
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

Antwort1

To:Damit Nachrichten an ihr Ziel gelangen, ist kein Header erforderlich . Hierzu wird nur der SMTP-Umschlag verwendet.

Im Gegensatz zum mailxTool ist der Bare sendmailCommand kein vollwertiger E-Mail-Client.

Der Befehl sendmail erstellt keine richtig formatierte E-Mail-Nachricht, sondern nur den minimalen SMTP-Umschlag, um eine erfolgreiche Übertragung sicherzustellen. Wenn Sie eine richtig formatierte E-Mail-Nachricht wünschen, müssen Sie diese dem Befehl sendmail als (Standard-)Eingabe bereitstellen.

Mit anderen Worten:

Sie müssen sendmail mit Nachrichten versorgen, die aus Headern bestehen. Jeder Header muss sich in einer neuen Zeile befinden und durch einen Doppelpunkt vom Header-Wert getrennt sein. Lange Header müssen in der Zeile darunter fortgesetzt werden und mit einem oder mehreren Leerzeichen beginnen. Dann folgt eine leere Zeile, die die Nachrichtenheader vom Nachrichtentext trennt. Dann der Nachrichtentext.

Etwas wie das

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
.

Antwort2

Wenn ich always_add_missing_headers = yes hinzufüge, funktioniert es bei mir

verwandte Informationen