
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 sendmail
Befehl). 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/aliases
einer 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
mailx
wird 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 = yes
es zu konfigurieren,/etc/postfix/main.cf
aber es hilft nicht.
Einige relevante Teile (glaube ich) aus meiner /etc/postfix/main.cf
Datei:
...
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 mailx
Tool ist der Bare sendmail
Command 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