Ausgabe wird abgeschnitten wenn Ausgabe in Datei

Hinweis: In dem Thema Ausgabe wird abgeschnitten wenn Ausgabe in Datei gibt es 15 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • OK, ich habe mir mal selbst Mails zugestellt und bei mir wird irgendwie nix abgeschnitten - alle Header die ich sehe, wenn ich an der mail-CLI bin, sehe ich auch in meiner Test-Ausgabe.


    So habe ich es getestet:


    Code
    mail -f /var/spool/mail/frederic << EOF > meine_MAIL.txt
    
    
    q
    EOF


    Wobei die Zeile über dem "q" durch Drücken von "Enter" erzeugt wurde. Zuerst zeigt er mir die Info an wann und von wem die Mail kam und, nachdem ich ENTER drücke, die Mailheader, MIME-Info etc..
    Und das ganze finde ich genau so in der Textdatei wieder.


    ?(


    /EDIT: Eine Sache noch - auch nur als Idee. Du schriebst oben "...es muss mit der Terminalgrösse zu tun haben..:"
    Das st evtl. auch eine Möglichkeit. Wenn Du in einem xterm arbeitest könntest Du ja mal die xterm-history-size hochsetzen.
    Zum Beispiel in der ~/.Xdefaults

    Code
    xterm*saveLines: 15000


    So, oder so einen ähnlichen Wert mal setzen.
    Dann aus- und wieder einloggen, ODER den Befehl


    Code
    xrdb .Xdefaults


    absetzen.


    Evtl. schneidet Dein Terminal das ja einfach ab......ich schliesse nie etwas aus :thumbup:

  • Korrekte Ausgabe:


    Code
    [bodomc1:~] bodo% mail -H 
    Mail version 8.1 6/6/93. Type ? for help.
    "/var/mail/bodo": 15 messages 15 new
    >N 1 [email]bodo@bodomc1.bodo.me[/email] Mon May 23 18:00 22/1127 "Cron /Users/bodo/crontabscripts/copy_u"
    N 2 [email]bodo@bodomc1.bodo.me[/email] Tue May 24 06:01 20/1064 "Cron /Users/bodo/crontabscripts/copy_u"
    N 3 [email]bodo@bodomc1.bodo.me[/email] Tue May 24 18:00 20/1064 "Cron /Users/bodo/crontabscripts/copy_u"


    Abgeschnittene Ausgabe:


    Code
    [bodomc1:~] bodo% mail -H | tee
    Mail version 8.1 6/6/93. Type ? for help.
    "/var/mail/bodo": 15 messages 15 new
    >N 1 [email]bodo@bodomc1.bodo.me[/email] Mon May 23 18:00 22/1127 "Cron /"
    N 2 [email]bodo@bodomc1.bodo.me[/email] Tue May 24 06:01 20/1064 "Cron /"
    N 3 [email]bodo@bodomc1.bodo.me[/email] Tue May 24 18:00 20/1064 "Cron /"


    Alles nach der 78 Stelle wird abgeschnitten.


    Gruss,


    Bodo

  • Ahhhhh, jetzt sehe ich das zum ersten Mal.
    Mit einem extrem langem Subject passiert hier genau das gleiche.


    Nach 78 Zeichen ist Schluß.


    Ich glaube aber, dass es mit mail direkt zu tun hat. Denn ein

    Code
    grep Subject mbox
    cat mbox | grep Subject


    zeigt die Zeilen komplett an. Hmmm, das muss doch zu finden sein....

  • Hallo Bodo,


    In der manual page für mailx steht:


    Zitat


    -s subject
    Set the Subject header field to subject. All characters in the subject string will appear in the delivered message. The results are unspecified if subject is longer than {LINE_MAX} - 10 bytes or contains a newline character.


    Dies scheint historisch und fix zu sein (die Variable "LINE_MAX" finde ich nirgens).


    Eine Möglichkeit auch lange Zeilen (im Header oder Text) abzuspeichern wäre folgendermassen:


    Der Mail-Text (die Mail-Adresse = "user0"):


    Code
    ~ > mailx -s "---------1---------2---------3---------4---------5---------6---------7---------8" user0 <<EOT
    > 12345678901234567890123456789012345678901234567890123456789012345678901234567890
    > ---------1---------2---------3---------4---------5---------6---------7---------8
    > EOT
    ~ >


    Dann den Text lesen:


    Code
    ~ > mail -f /var/spool/mail/user0
    Heirloom mailx version 12.2 01/07/07.  Type ? for help.
    "/var/spool/mail/user0": 1 message 1 new
    >N  1 user0@linux-ddia.s Tue May 31 16:20   19/801   ---------1---------2---------3---------4-------
    ? pipe "cat > mail.txt"
    Pipe to: "cat > mail.txt"
    "cat > bbbbb.txt" 16/607
    ? q
    ~ >


    Die Datei enthält alle Daten.


    Vielleicht kannst Du dies für Deine Bedürfnisse anpassen.


    Gruss,
    Roland

    Einmal editiert, zuletzt von rme ()

    Für den Inhalt des Beitrages 31824 haftet ausdrücklich der jeweilige Autor: rme

  • Hi Roland,


    wir lesen jetzt die mbox Datei direkt aus. Muss man sich halt um newline, charset und andere codes kümmern.


    Ich habe auch mit Perl ein bisschen experimentiert.
    Ich gebe hier mal meine Experimente an falls es jemanden interessiert.



    Die pipe Lösung hat auch funktioniert.
    Alle Achtung. Da hast Du Dich ziemlich reingekniet.
    Herzlichen Dank dafür!


    Gruss,


    Bodo


    Code
    use Mail::Internet;use Mail::Header;
    $messagefile = "bodo.mbox";
    open(MESSAGE, "$messagefile") or die "Unable to open $messagefile:$!\n";
    $mail = new Mail::Internet \*MESSAGE;$header_from = $mail->get('From');$header_subject = $mail->get('Subject');print $header_from; print $header_subject;close(MESSAGE);
    
    
    open(MESSAGE, "$messagefile") or die "Unable to open $messagefile:$!\n";$header = new Mail::Header \*MESSAGE;$header->print();print join("\n", sort $header->tags);close(MESSAGE);



    Quellen:
    http://search.cpan.org/~markov….07/lib/Mail/Internet.pod
    http://www.oreillynet.com/pub/…/news/perladmin_0700.html

  • Hallo Bodo,


    Zitat von "Bodo_von_Greif"


    wir lesen jetzt die mbox Datei direkt aus


    Ja, sehr gut, finde ich hier auch die beste Lösung 8)


    (auch 'awk' würde sich hier eignen)


    Gruss,
    Roland

    Für den Inhalt des Beitrages 31855 haftet ausdrücklich der jeweilige Autor: rme