Mailinglist Archive: opensuse-de (1438 mails)

< Previous Next >
Re: brauche ich einen Mailserver ?
  • From: David Haller <dnh@xxxxxxxxxxxx>
  • Date: Wed, 17 Mar 2010 09:00:42 +0100
  • Message-id: <20100317080042.GA6648@xxxxxxxxxxxxxxxxxx>
Hallo,

Am Mit, 17 Mär 2010, Dieter Kluenter schrieb:
Michael <bushveld@xxxxxx> writes:
ich möchte ein paar log Dateien von einem entfernten Rechner mir
regelmäßig zukommen lassen. Das geht idealerweise per Mail. Aber dann
müsste ich ja einen Mailserver aufsetzen. Das habe ich noch nie
gemacht und ich habe das Gefühl das das mit Kanonen auf Spatzen
geschossen ist.

Die alten Tools sind immer noch die besten, installiere mailx(1) (wenn
noch nicht vorhanden) und lies die Doku dazu. Der Vorteil ist, dass du
mailx in Shellscripts und Cronjobs einbinden kannst:
mailx -r admin@xxxxxxxxxx -s 'die neuen Logs' admin@xxxxxxx < logs.tgz

So ist das schonmal nicht richtig und AFAIK kann mailx das auch
nicht besser. Das schickt dir nämlich das tgz als rohe Daten im Body
ohne passende Header (geschweige denn Base64/QP Kodierung). Für mailx
muß man also selber (per script) die Daten vorher kodieren und
ggfs. passende Header einfügen.

Mit mutt geht sowas problemlos, man kann dabei _alle_ Einstellungen
per default übernehmen oder auch überschreiben. Obiges macht mutt
korrekt mit:

mutt -s 'die neuen Logs' admin@xxxxxxx < logs.tgz

Das ist aber ineffizient da z.B.:

HContent-Type: text/plain; charset=utf-8
HContent-Disposition: inline
HContent-Transfer-Encoding: quoted-printable

(aber das gz ist korrekt per QP kodiert). Sinnvoller ist:

mutt -s 'die neuen Logs' admin@xxxxxxx -a logs.tgz </dev/null

HContent-Type: multipart/mixed; boundary="5vNYLRcllDrimb99"
HContent-Disposition: inline

Und dazu nen leeren "Body" plus korrekt deklarierten und kodierten
Anhang.

Und man muß sich dabei genau gar nicht um MIME Krams kümmern. Das
macht mutt. Denn genau dafür ist mutt ja als Mail *User* Agent da, daß
sich der User nicht um Zeichensätze, Kodierungen etc. kümmern muß.

Mutt mit einkompilierten defaults bekommt man übrigens, wenn man
/dev/null als Konfigdatei angibt (-F /dev/null). Im Normalfall passen
aber die Defaults, ergo reicht o.g. einfacher Aufruf. Mit '-i' kann
man auch noch Text aus ner Datei in den Body einfügen, auch wenn der
Rest des Bodies von stdin gelesen wird (sonst reicht ja stdin).

-dnh

--
"All mail clients suck. This one just sucks less."
-- Michael Elkins, circa 1995, about 'mutt'
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups