Matthias Apsel: whitespace in plain-text-Mails

Hallo alle,

Ich versende den Inhalt einer textarea als Mail.

Der Quellcode sieht so aus

<textarea ...>Zeile1
Zeile2
</textarea>

Leider sind auch in der Mail die entsprechenden Leerzeichen durch die Einrückung im Quelltext.

      Zeile1
Zeile2

Wie kann ich die wegbekommen? Welche Informationen wären noch wichtig für die Beantwortung der Frage?

Bis demnächst
Matthias

--
Signaturen sind bloed (Steel) und Markdown ist mächtig.

akzeptierte Antworten

  1. <textarea ...>Zeile1
    Zeile2
    </textarea>
    

    Leider sind auch in der Mail die entsprechenden Leerzeichen durch die Einrückung im Quelltext.

    Welche entsprechenden Leerzeichen? Die Zeile1 beginnt doch direkt nach der schließenden Klammer von textarea.

    Hast du da beim Kopieren aus dem Quellcode was verändert/übersehen?

    Linuchs

    1. Hallo Linuchs,

      <textarea ...>Zeile1
      Zeile2
      </textarea>
      

      Leider sind auch in der Mail die entsprechenden Leerzeichen durch die Einrückung im Quelltext.

      Welche entsprechenden Leerzeichen? Die Zeile1 beginnt doch direkt nach der schließenden Klammer von textarea.

      Sorry, vor der textarea sind Leerzeichen. Ich dachte, das wäre "durch die Einrückung" richtig formuliert.

           <textarea ...>Zeile1
      Zeile2
           </textarea>
      

      EDIT Auf die Einrückung im Quelltext zu verzichten, wäre nur eine Notlösung.

      Bis demnächst
      Matthias

      --
      Signaturen sind bloed (Steel) und Markdown ist mächtig.
      1. EDIT Auf die Einrückung im Quelltext zu verzichten, wäre nur eine Notlösung.

        Der Whitespace gehört aber leider zum DOM-Baum, darüber bin ich auch schon mal gestolpert.

        Mit

        document.documentElement.normalize();
        

        entfernst du Textknoten, die nur aus Whitespace bestehen aus dem DOM-Baum. Außerdem werden adjazazente Textknoten zu einem Knoten kollabiert, aber der Fall sollte nur auftreten, wenn der DOM-Baum mit JavaScript erzeugt wurde.

        Alternativ kannst serverseitig führenden und anhängenden Whitespace entfernen, die meisten Programmiersprachen haben dafür eine Funktion trim.

  2. Hi,

    Ich versende den Inhalt einer textarea als Mail. Leider sind auch in der Mail die entsprechenden Leerzeichen durch die Einrückung im Quelltext.

    Das glaube ich nicht, Tim.

    Wie kann ich die wegbekommen? Welche Informationen wären noch wichtig für die Beantwortung der Frage?

    • Der Code, mit dem Du die Mail generierst.
    • Sämtlicher Code, der sich mit dem Inhalt der Textarea befaßt.
    • Ob es sich um eine Text- oder eine HTML-Mail handelt.

    cu,
    Andreas a/k/a MudGuard

    1. Hallo MudGuard,

      Ich versende den Inhalt einer textarea als Mail. Leider sind auch in der Mail die entsprechenden Leerzeichen durch die Einrückung im Quelltext.

      Das glaube ich nicht, Tim.

      Das fällt mir auch schwer zu glauben.

      Wie kann ich die wegbekommen? Welche Informationen wären noch wichtig für die Beantwortung der Frage?

      • Der Code, mit dem Du die Mail generierst.
      • Sämtlicher Code, der sich mit dem Inhalt der Textarea befaßt.

      Besonders interessant ist hier die Textarea selber, im Kontext.

      • Ob es sich um eine Text- oder eine HTML-Mail handelt.

      Das steht bereits im Posting und im Subject: es ist eine Text-Mail ;-)

      LG,
      CK

      1. Hallo,

        Das glaube ich nicht, Tim.

        Das fällt mir auch schwer zu glauben.

        Da musste ich erstmal googeln, bis bei mir der Hammer auf den Groschen fiel...

        Gruß
        Kalk

    2. Hallo MudGuard,

      Wie kann ich die wegbekommen? Welche Informationen wären noch wichtig für die Beantwortung der Frage?

      • Der Code, mit dem Du die Mail generierst.
      • Sämtlicher Code, der sich mit dem Inhalt der Textarea befaßt.

      konkreten Code kann ich erst heute Abend liefern, wenn ich wieder an dem Rechner sitze.

      Die Mail wird mit mail() generiert, sie kommt (bis auf den whitespace) auch ordentlich an. Das Textarea wird aus einer DB gefüllt

      htmlspecialchars($zeile) . "\n";

      Das komplette Formular wird per POST übertragen. Bereits var_dump($_POST) zeigt den führenden Whitespace.

      trim habe ich noch nicht versucht.

      Der Inhalt mit utf8-decode behandelt, weil der mail-versand auf iso-88... eingestellt ist.

      Sonst wüsste ich nichts besonderes mitzuteilen.

      Bis demnächst
      Matthias

      --
      Signaturen sind bloed (Steel) und Markdown ist mächtig.
      1. Hi,

        Die Mail wird mit mail() generiert, sie kommt (bis auf den whitespace) auch ordentlich an. Das Textarea wird aus einer DB gefüllt

        htmlspecialchars($zeile) . "\n";

        Das komplette Formular wird per POST übertragen. Bereits var_dump($_POST) zeigt den führenden Whitespace.

        das deutet aber stark darauf hin, dass der eingangs gezeigte Codeauszug eben nicht das ist, was beim Browser ankommt, sondern dass zwischen dem öffnenden Tag <textarea> und dem ersten Zeichen des Nutzinhalts noch Whitespace steht. In deinem Beispiel folgt der Inhalt "Zeile1" aber ohne Abstand, und das passt nicht zum beschriebenen Verhalten.

        trim habe ich noch nicht versucht.

        Das wäre IMO auch nur das Bekämpfen von Symptomen, nicht Ursachen - obwohl es wahrscheinlich zum gewünschten Erfolg führen würde.

        Der Inhalt mit utf8-decode behandelt, weil der mail-versand auf iso-88... eingestellt ist.

        Schön zu wissen, aber hier irrelevant. ;-)

        So long,
         Martin

  3. Lieber Unbekannter (Du kannst ja kaum DER Matthias Apsel sein?), liebe Mitdenker, liebe Wissende, liebe Neugierige,

    Grundregel des Forums lautet:

    Du sollst nicht trollen!
    

    Ich lege Dir deshalb die Charta/Tipps für Fragende ans Herz.

    Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

    Bitte nochmal von vorne, aber vollständig

    Spirituelle Grüße
    Euer Robert
    robert.r@online.de

    --
    Möge der wahre Forumsgeist ewig leben!
    1. Lieber Christian,

      Grundregel des Forums lautet:

      Du sollst nicht trollen!
      

      Ich lege Dir deshalb die Charta/Tipps für Fragende ans Herz.

      Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

      Bitte nochmal von vorne, aber vollständig

      Was hast Du denn jetzt an diesem Posting wieder auszusetzen? Das war doch nun weder übertrieben humoristisch (das verstehst Du ja scheinbar nicht!) noch platt sexistisch, sondern nur ein Hinweis auf den mangelnden Input. Erklär mir jetzt bitte mal, was der Hinweis aud die Charta/Tipps für Fragende negatives hat.

      Ich glaube so langsam, dass es hier zuviele verklemmte arrogante Typen (eigentlich doch ein Widerspruch) gibt, und deshalb die Frauen nicht posten. Ich such mir jetzt ein "Frauenforum für IT-Fragen". Mal ssehen, wann die mich rauswerfen :-P

      Spirituelle Grüße
      Euer Robert
      robert.r@online.de

      --
      Möge der wahre Forumsgeist ewig leben!
      1. Hallo robertroth,

        soweit mir bekannt bin ich dir keine Rechenschaft schuldig.

        LG,
        CK

        1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

          soweit mir bekannt bin ich dir keine Rechenschaft schuldig.

          wäre doch aber schade, wenn dein schönes neues Forum irgendwann ganz leer ist, nur weil Du Regeln aufstellst, die Du dann selber nicht einhalten willst.

          Ich wünsch Dir jedenfalls viel Glück.

          Spirituelle Grüße
          Euer Robert
          robert.r@online.de

          --
          Möge der wahre Forumsgeist ewig leben!
          1. Hallo robertroth,

            wäre doch aber schade, wenn dein schönes neues Forum irgendwann ganz leer ist, nur weil Du Regeln aufstellst, die Du dann selber nicht einhalten willst.

            Es ist nicht Christians Forum. Dieses Forum wird betrieben durch den Verein SELFHTML. Und ganz objektiv betrachtet bist du es, der sich regelmäßig im Ton vergreift und zwar ohne provoziert[1] worden zu sein.

            [1] Ich kann ja sogar noch nachvollziehen, dass du dich durch Kramdown genervt fühlst, weil es für dich eben nicht intuitiv bedienbar ist und du deinen Frust loswerden möchtest.

            Bis demnächst
            Matthias

            --
            Signaturen sind bloed (Steel) und Markdown ist mächtig.
            1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

              Es ist nicht Christians Forum. Dieses Forum wird betrieben durch den Verein SELFHTML. Und ganz objektiv betrachtet bist du es, der sich regelmäßig im Ton vergreift und zwar ohne provoziert[1] worden zu sein.

              [1] Ich kann ja sogar noch nachvollziehen, dass du dich durch Kramdown genervt fühlst, weil es für dich eben nicht intuitiv bedienbar ist und du deinen Frust loswerden möchtest.

              Was hat das Generve durch Kramdown damit zu tun, dass DU hier ein Startposting ablieferst, dass wirklich unter aller Sau ist? Und da ist nun mein Ton noch relativ weichgespült. Jeder NEULING würde dafür mit einem Feruerkwerk an Maßregelungen abgestraft werden. Warum gibst gerade Du so ein schlechtes Beispiel, nimmst Dir aber heraus, über meinen Ton zu urteilen?

              Ich kann inzwischen diejenigen verstehen, die hier nicht mehr mitmachen wollen.

              Spirituelle Grüße
              Euer Robert
              robert.r@online.de

              --
              Möge der wahre Forumsgeist ewig leben!
            2. Hi,

              [1] Ich kann ja sogar noch nachvollziehen, dass du dich durch Kramdown genervt fühlst, weil es für dich eben nicht intuitiv bedienbar ist und du deinen Frust loswerden möchtest.

              und dem Gemecker schließe ich mich innerlich nach wie vor an, habe aber inzwischen resigniert.

              seufz

              So long,
               Martin

    2. Hallo,

      Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

      häh? Man wird am 1.4. "in den April geschickt" und die Auflösung dann irgendwann um den 2.4.

      Gruß
      Kalk

      1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

        Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

        häh? Man wird am 1.4. "in den April geschickt" und die Auflösung dann irgendwann um den 2.4.

        Das kannst Du sehen wie ein (humorloser) Scherzer.

        Ich wurde aber bisher immer nur in den April geschickt und die Auflösung hat dann am 01. April stattgefunden. Aber nix währt ewig, vielleicht hat sich der Brauch ja inzwischen geändert?

        Spirituelle Grüße
        Euer Robert
        robert.r@online.de

        --
        Möge der wahre Forumsgeist ewig leben!
        1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

          Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

          häh? Man wird am 1.4. "in den April geschickt" und die Auflösung dann irgendwann um den 2.4.

          Das kannst Du sehen wie ein (humorloser) Scherzer.

          Ich wurde aber bisher immer nur in den April geschickt und die Auflösung hat dann am 01. April stattgefunden. Aber nix währt ewig, vielleicht hat sich der Brauch ja inzwischen geändert?

          Irgendwie fehlt hier immer noch die Umsetzung für <strong> mit diesem Forum in meinem Browser. Das bleibt so blass, wie der übrige Text. Ich habe weder ein User-Stylesheet noch sonst irgendwelche Verbiegeungen eingebaut. Bei allen anderen angeschauten Seiten wird es auch erwartungsgemäß gerendert.

          Woran kann das liegen? Der Browser ist inzwischen FF 37.0.2.

          Spirituelle Grüße
          Euer Robert
          robert.r@online.de

          --
          Möge der wahre Forumsgeist ewig leben!
          1. Hallo robertroth,

            Irgendwie fehlt hier immer noch die Umsetzung für <strong> mit diesem Forum in meinem Browser. Das bleibt so blass, wie der übrige Text. Ich habe weder ein User-Stylesheet noch sonst irgendwelche Verbiegeungen eingebaut. Bei allen anderen angeschauten Seiten wird es auch erwartungsgemäß gerendert.

            Woran kann das liegen? Der Browser ist inzwischen FF 37.0.2.

            An der Schriftart. Das an erster Stelle stehende Consolas hat in der Tat nur geringe Unterschiede zwischen bold und normal. Welche Schriftart bei dir tatsächlich verwendet wird, weiß ich natürlich nicht. Hast du einen besseren Vorschlag?

            Bis demnächst
            Matthias

            --
            Signaturen sind bloed (Steel) und Markdown ist mächtig.
    3. Hallo Robert,

      Lieber Unbekannter (Du kannst ja kaum DER Matthias Apsel sein?)

      ach nein?

      Grundregel des Forums lautet:

      Du sollst nicht trollen!
      

      Ja, genau. Brauchst du einen Spiegel?

      Ich beobachte den Thread nun schon von Anfang an und habe die ganze Zeit im Hinterhirn: "Es ist der 05. Mai und nicht der 31. März". Da kann also morgen (inzwischen heute) gar kein "April April" kommen.

      Bitte nochmal von vorne, aber vollständig

      Dein Zweifel und dein Argwohn ist nachvollziehbar, dein Ton aber IMO unangemessen.
      Bitte nochmal von vorn, aber anständig.

      So long,
       Martin

      1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

        Dein Zweifel und dein Argwohn ist nachvollziehbar, dein Ton aber IMO unangemessen.
        Bitte nochmal von vorn, aber anständig.

        Für Weichspüler fehlt mir der Knopf

        Spirituelle Grüße
        Euer Robert
        robert.r@online.de

        --
        Möge der wahre Forumsgeist ewig leben!
        1. Lieber robertroth,

          Für Weichspüler fehlt mir der Knopf

          das macht Dich mir sympathisch! :-)

          Liebe Grüße,

          Felix Riesterer.

    4. Hallo robertroth,

      Ich kann dir versichern, dass ich DER Matthias Apsel bin. Zudem kann ich dir versichern, dass dieses Problem tatsächlich so aufgetreten ist, ich mir das nicht erklären kann und deshalb heute Abend, wenn ich wieder an dem Rechner sitze, auch das Befüllen der Textaerea unter die Lupe nehmen werde.

      Screenshots kann ich liefern, mir ist bewusst, dass die nicht hilfreich sind.

      Darstellung des Formulars
      Bildbeschreibung

      Quellcode
      Bildbeschreibung

      erhaltene Mail in Roundcube
      Bildbeschreibung
      Wie man hier sieht, ist die Einrückung identisch mit der im Quelltext.

      erhaltene Mail bei Freenet
      Bildbeschreibung

      Bis demnächst
      Matthias

      --
      Signaturen sind bloed (Steel) und Markdown ist mächtig.
      1. Hallo Matthias,

        Screenshots kann ich liefern, mir ist bewusst, dass die nicht hilfreich sind.

        Ich könnte mir vorstellen, dass die Einrückung von der zweiten Zeile der Begrüssungstextarea kommt.

        LG,
        CK

        1. Hallo Christian Kruse,

          Ich könnte mir vorstellen, dass die Einrückung von der zweiten Zeile der Begrüssungstextarea kommt.

          Denkbar, aber im Moment leider nur Spekulation, da ich nicht an jenem Rechner sitze.

          Dagegen spricht allerdings:

          Bereits var_dump($_POST) zeigt den führenden Whitespace.

          Bis demnächst
          Matthias

          --
          Signaturen sind bloed (Steel) und Markdown ist mächtig.
        2. Hallo Christian Kruse,

          Ich könnte mir vorstellen, dass die Einrückung von der zweiten Zeile der Begrüssungstextarea kommt.

          Das ist sogar sehr denkbar, denn an der Stelle gibt es keinen expliziten Zeilenumbruch. Ich denke, das wird es sein.

          Bis demnächst
          Matthias

          --
          Signaturen sind bloed (Steel) und Markdown ist mächtig.
        3. Hallo Christian Kruse,

          Ich könnte mir vorstellen, dass die Einrückung von der zweiten Zeile der Begrüssungstextarea kommt.

          Das wars. Es fehlte beim Zusammenbauen der Nachricht aus den 3 Teilen ein \n. Vielen Dank für den Hinweis.

          Bis demnächst
          Matthias

          --
          Signaturen sind bloed (Steel) und Markdown ist mächtig.