Am Sonntag, den 10.06.2007, 09:02 +0200 schrieb Sandy Drobic:
Rainer Wolff wrote:
Hallo Sandy,
danke für den Input. Dein PERL-Skript wäre sicherlich auch ein Ansatz, aber ich habe den Fehler noch nicht verstanden. Das mit der Umgebung hatte ich auch schon ansatzweise verfolgt. Das Problem nochmal:
Funktioniert nicht (wie mit cron): cat mailtext | sudo mail -s "TEST" name@domain.de
Funktioniert: cat mailtext | mail -s "TEST" name@domain.de
Jetzt dachte ich, es gibt Unterschiede, das sehe ich ja z.B. mit: sudo env
Also mache ich: env >umgebung
Und schreibe dann ein Skript nailtest:
. umgebung cat mailtext | mail -s "TEST" name@domain.de
und rufe es auf mit: sudo ./nailtest
und erhalte wieder die alte Fehlermeldung!
Ich habe weiter probiert: cat mailtext | recode ..ascii | sudo mail -s "TEST" name@domain.de
funktioniert auf einmal, allerdings sind dann die Umlaute eben zerschossen.
Das würde ich als "funktioniert nicht" bezeichnen. (^-^)
Auch Einträge in .mailrc und/oder .nailrc a la: set sendcharsets=iso-8859-1,iso-8859-15,utf-8 set tty-charset=iso-8859-15 führen zu nichts.
Ich bin ziemlich ratlos, kann aber nicht einsehen, dass es nicht funktionieren soll. Wo liegt mein Fehler?
Mit welchem Befehl hast du dafür gesorgt, dass "mailtext" korrekt kodiert wurde? Ich sehe hier keinen. Das macht eben das kleine Perlscript. Im besten Falle wird mail dir den Text als Anhang servieren, weil nicht kodierte Zeichen entdeckt werden.
Der Inhalt der Mail ist die Ausgabe eines Backuplaufs, und der wird explizit mit recode nach ISO-8859-1 umgewandelt. Das Problem ist jedoch gelöst (dank Attila, der mich privat angeschrieben hat): Es liegt daran, dass mail bzw. nail sich auf die Umgebungsvariable "LANG" verlässt, egal ob in .mailrc bzw. .nailrc etwas anderes steht, und auch egal wenn es in der Man-Page anders beschrieben ist. In der Umgebung, die Cron vorfindet, gibt es kein "LANG", daher ist "US-ASCII" als irgendein Default der einzig mögliche Zeichensatz. Mit einem Konstrukt a la: "export LANG=de_DE@euro && mail ..." klappt es. Meine funktionierende Skript-Zeile heißt nun: export LANG=de_DE@euro && mail -s "Daily Backup Report $(date +%d.\ %B\ %Y -d yesterday)" name@domain.de <$BACKUP_REPORT und alles funktioniert wunderbar. Danke an alle fürs Mitdenken! Viele Grüße Rainer
-- Sandy
Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org