Hallo Leute, ich hab ein kleines Problem mit "mail". In einem Bash-Skript rufe ich auf: php /mein/php/skript | mail -r "$MAILFROM" -s "$SUBJECT" "$RECIPIENT" Das php-Skript produziert eine ganz normale Textausgabe, nichts besonderes. Das Problem liegt darin, daß die von mail versandte E-Mail mal so aussieht: User-Agent: Heirloom mailx 12.4pre 6/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit [hier beginnt unmittelbar der php-Text, und so sollte es sein] Manchmal sieht es aber auch so aus: User-Agent: Heirloom mailx 12.4pre 6/29/08 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0764149768==" --===============0764149768== Content-Type: application/octet-stream Content-Transfer-Encoding: 8bit [hier beginnt der php-Text...] Bei der zweiten Variante ist es nun so, daß der MUA den von php generierten Text als Attachment darstellt, und nicht inline in der Mail. Der Text soll aber auf jeden Fall in der Mail erscheinen, nicht als Attachment. Warum mail/mailx es mal so und mal so macht konnte ich nicht herausfinden. Ich finde keine Regelmäßigkeit. Hat jemand ne Ahnung, wie ich das Verhalten beeinflussen kann? -- Andre Tann -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german- REQUEST@lists.debian.org mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl) Archive: http://lists.debian.org/201006280928.54658@inter.netz -- 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
Am Monday 28 June 2010 13:06:53 schrieb Andre Tann:
Hallo Leute,
ich hab ein kleines Problem mit "mail". In einem Bash-Skript rufe ich auf:
php /mein/php/skript | mail -r "$MAILFROM" -s "$SUBJECT" "$RECIPIENT"
Das php-Skript produziert eine ganz normale Textausgabe, nichts besonderes.
Das Problem liegt darin, daß die von mail versandte E-Mail mal so aussieht:
User-Agent: Heirloom mailx 12.4pre 6/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit
[hier beginnt unmittelbar der php-Text, und so sollte es sein]
Manchmal sieht es aber auch so aus:
User-Agent: Heirloom mailx 12.4pre 6/29/08 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0764149768=="
--===============0764149768== Content-Type: application/octet-stream Content-Transfer-Encoding: 8bit
[hier beginnt der php-Text...]
Bei der zweiten Variante ist es nun so, daß der MUA den von php generierten Text als Attachment darstellt, und nicht inline in der Mail. Der Text soll aber auf jeden Fall in der Mail erscheinen, nicht als Attachment.
Warum mail/mailx es mal so und mal so macht konnte ich nicht herausfinden. Ich finde keine Regelmäßigkeit.
Hat jemand ne Ahnung, wie ich das Verhalten beeinflussen kann?
-- Andre Tann
...
Hallo Andre, Überprüfe mal, ob das php-Skript immer nur Ausgaben erzeugt, die in den iso8859-1 Zeichensatz passen. Selbst das €-Symbol (EURO-Symbol) wird erst mit iso8859-15 unterstützt. Es kann auch sein, dass da Zeichen enthalten sind, die Dir nicht lesbar dargestellt werden können. Dann hilft als letzte Zuflucht evtl ein Hex-Dump. Außerdem kann die Ablaufumgebung andere locale-Einstellungen haben als Deine Testumgebung. Habe ich bei Cron-Jobs schon erlebt, kann man aber im Job beeinflussen, wenn es notwendig ist. Eine Datumsangabe in Englisch stört mich nicht, die kann ich ebenso gut lesen wie Eine in Deutsch, aber Chefe will das evtl. anders haben. Welche locale-Einstellungen hast Du in Deiner Shell? Bei mir ist de_DE.UTF-8 (echo $LANG). Cronjobs haben, glaube ich, LANG=C, wenn man nicht Anderes darin angibt. Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- 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
Servus Emil, Emil Stephan, Montag 28 Juni 2010:
Am Monday 28 June 2010 13:06:53 schrieb Andre Tann:
Überprüfe mal, ob das php-Skript immer nur Ausgaben erzeugt, die in den iso8859-1 Zeichensatz passen. Selbst das €-Symbol (EURO-Symbol) wird erst mit iso8859-15 unterstützt. Es kann auch sein, dass da Zeichen enthalten sind, die Dir nicht lesbar dargestellt werden können. Dann hilft als letzte Zuflucht evtl ein Hex-Dump. Außerdem kann die Ablaufumgebung andere locale-Einstellungen haben als Deine Testumgebung. Habe ich bei Cron-Jobs schon erlebt, kann man aber im Job beeinflussen, wenn es notwendig ist. Eine Datumsangabe in Englisch stört mich nicht, die kann ich ebenso gut lesen wie Eine in Deutsch, aber Chefe will das evtl. anders haben. Welche locale-Einstellungen hast Du in Deiner Shell? Bei mir ist de_DE.UTF-8 (echo $LANG). Cronjobs haben, glaube ich, LANG=C, wenn man nicht Anderes darin angibt.
Ah, da hammers ja schon. LANG=C und ein Umlaut, und schon passiert, was mich nervt. Sehr fein, das krieg ich abgestellt. Vielen Dank! Andre -- Andre Tann -- 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
participants (2)
-
Andre Tann
-
Emil Stephan