Erfahrungen & Bewertungen zu Lars Pilawski

Linux bash: E-Mail mit sendmail verschicken

Sendmail E-Mail auf der Linux Konsole erzeugen

Manchmal ist es von Nöten Systemnachrichten mittels Skript zu erzeugen und an sendmail zu übergeben. Viele vergessen jedoch die notwendigen E-Mail Header mit in die E-Mail einzubauen. Dies ist in erster Linie kein Problem, solange die E-Mail nur intern weitergereicht wird. Problematisch wird es wenn man an Externe Anbieter verschickt. Die meisten behandeln E-Mails ohne richtigen Header als Spam oder lehnen (bouncen) sie gleich ab.

Was alles in den E-Mail Header rein sollte steht z.B. auf der Wikipedia Seite.

Um das Problem zu lösen bringt „sendmail“ die Option „-t “ mit. Welche bedeutet, alle E-Mail Header Infos aus einer Datei zu holen. Die Datei könnte folgendermaßen aussehen.

Sendmail E-Mail Header


MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: admin@domain.de
Reply-To: antwort-adresse@domain.de
Subject: Text Test =?UTF-8?Q?f=C3=BCr?= Umlaute
To: admin@domain.de

Hallo hier ist ein Text Test "ü ä ö" bzw ß!
Wird der Inhalt der E-Mail bzw. der Betreff korrekt angezeigt,
dann wurde die E-Mail richtig erzeugt.

Die Leerzeile zwischen Header und Text dient als Trenner, sodass
sendmail automatisch erkennt was ist Header und was ist Text.

Sendmail E-Mail Versand

Den gesamten Inhalt speichert man z.B. als „nachricht“ ab und schickt diese mit folgenden Befehl ab.

cat nachricht | sendmail -t -f admin@domain.de

E-Mail Envelope From und Header From

Der Envelope From ist der Absender welcher mit der Option „-f“ erzeugt wird. Dieser Absender ist der eigentlich wichtige beim E-Mail Versand. Zum Envelope From werden auch etwaige bounces geschickt. Wird die Option weggelassen, erzeugt sendmail als Absender user@server-hostname.de. Dies kann zufolge haben dass bei Unzustellbarkeit der E-Mail die bounces im Nichts versinken, wenn der Absender unbekannt ist.
Der Header From wird bei einem E-Mail Client als Absender angezeigt. Kann hier komplett vom Envelope From abweichen.

E-Mail Reply-To und To

Unter „Reply-To“ kann man eine Antwort E-Mail Adresse angeben. Wenn man auf antworten klickt, wird automatisch dieser Empfänger ausgewählt.
Bei „To“ gibt man den eigentlichen Empfänger der E-Mail an.

Subject/Betreff Kodierung

Damit Umlaute und bestimmte Sonderzeichen im E-Mail Subject/Betreff auf dem E-Mail Client auch richtig angezeigt werden, muss hier eine Kodierung her.

Eingeleitet wird die Kodierung mit dem Befehl:

=?UTF-8?Q?

Und endet mit:

?=

Das „Q“ zwischen den Fragezeichen bedeutet die Art der Kodierung der Zeichen. In dem Fall Quoted-Printable.

Ein „B“ würde für base64 stehen. Der komplette String sehe dann so aus:

Subject: Text Test =?UTF-8?B?ZsO8cgo=?= Umlaute

Um das Wort „für“ in base64 zu kodieren benutzt man den Linux Befehl:

echo für | openssl base64 -e

Check Also

fail2ban mit IPv6

IPv6 verbreitet sich immer mehr. Leider nehmen auch die BruteFroce Angriffe zu. Wer jetzt fail2ban ...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir nutzen Cookies um dir passende Inhalte zu präsentieren und dein Surfvergnügen zu optimieren, aktivieren die Cookies aber erst, wenn du auf Akzeptieren klickst. Mehr Infos

Wir benutzen Google Analytics um zu ermitteln, welche Inhalte unsere Besucher sehen wollen und welche nicht. Eingebettete YouTube Videos helfen dir mittels Cookies nur die Videos zu sehen, die du sehen willst. Mittels Facebook Pixel ermitteln wir, welche Videokurse und Inhalte dir gefallen könnten und welche nicht. Unser Popup-Cookie nutzen wir, damit du das Popup nur einmal siehst und nicht bei jedem Aufruf.

Schließen

Lars Pilawski hat 4,81 von 5 Sternen | 236 Bewertungen auf ProvenExpert.com