Ankündigung

Einklappen
Keine Ankündigung bisher.

Leerzeilen beim Mailversand

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Leerzeilen beim Mailversand

    Hallo,

    ich habe mir ein Formular mit einer Textarea gebastelt.
    Diesen Text versende ich dann per eMail.
    Das Ganze klappt soweit auch, nur habe ich das klitzekleine Problemchen, daß nach jeder Zeile eine Leerzeile kommt.
    Sprich, gebe ich in der Textarea folgendes ein :
    1.Zeile
    2.Zeile
    3.Zeile

    bekome ich in der eMail dann folgenden Inhalt :
    1. Zeile

    2. Zeile

    3. Zeile

    Das Ganze läuft in meinem Code folgendermassen ab :
    (ich schreib hier nur mal die Codeschnipsel und nich den ganzen code rein)

    Formular :
    Code:
                <td><textarea name='text' cols='50' rows='20' id="text"></textarea></td>
    Senden :
    Code:
    $mailtext	=	$_POST['text'];
    
    mail ($empfaenger,$betreff,$mailtext, "From: $Email");
    Hat mir jemand nen Tip, wie ich die Leerzeilen da rausbekomme ?

    Vielen Dank schonmal für Eure Hilfe !

    Gruß
    Dirk

  • #2
    gib mal in die textarea ein:

    Code:
    Text1
    Text2
    Text3
    was bekommst du dann?

    greets JEGO
    Gruß JEGO ;-)

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

    Kommentar


    • #3
      Hey,

      danke für die schnelle Antwort.

      Das steht dann auch in der Mail drin :

      1.Zeile
      2.Zeile
      3.Zeile

      Grüße
      Dirk

      Kommentar


      • #4
        Dann hast du beim eingeben der zeilen warscheinlich nach jeder Zeile enter gedrückt. Oder?

        so :

        Zeile1 ENTER Zeile2 ENTER Zeile3

        probier mal mit shift und ENTER zu arbeiten.

        bei ENTER bekommst du einen Absatz und mit Shift ENTER bekommst du normalerweise einen Zeilen umbruch.

        greets JEGO
        Gruß JEGO ;-)

        Ein PHP Script tut, was Du schreibst, nicht was Du willst.

        Kommentar


        • #5
          Hey,
          das hätte es theoretisch ja sein können.
          Aber mit Shift-Enter kommt genau dasselbe.

          Gruß
          Dirk

          Kommentar


          • #6
            hast du es schon mit htmlentities() probiert?

            dann müsste es mit der version Text
            Text gehen.

            greets JEGO
            Gruß JEGO ;-)

            Ein PHP Script tut, was Du schreibst, nicht was Du willst.

            Kommentar


            • #7
              hey,
              nein, hab ich noch nicht.
              Ehrlich gesagt kenn ich das auch (noch) nicht.
              Was muss ich denn da machen ?

              Danke
              Dirk

              Kommentar


              • #8
                http://de.php.net/manual/de/function.htmlentities.php

                schau mal da nach.
                Gruß JEGO ;-)

                Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                Kommentar


                • #9
                  Wenn ich Dich jetzt aber richtig verstanden habe, dann müsste der Text nachher in der Version :
                  1.Zeile
                  2.Zeile
                  3.Zeile


                  eingegeben werden.
                  Das möcht ich aber nich unbedingt. Ich möcht nem normalen User der auf der Homepage ist das nicht unbedingt zumuten.

                  Du kannst das Ganze auch mal anschauen unter :
                  http://www.spvggholzgerlingen.de/mailform.php?id=388

                  Wenn's nicht anders klappt, lass ich halt die Leerzeilen drin.

                  Gruß
                  Dirk

                  Kommentar


                  • #10
                    es müsste dann auch ohne die
                    gehen.
                    es dient dann dazu das du denn Enter auch dargestellt bekommst.
                    Gruß JEGO ;-)

                    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                    Kommentar


                    • #11
                      Also, habe nun eingebaut :

                      $mailtext = htmlentities($_POST['text'])

                      Hatte jedoch auch keinerlei Auswirkungen.
                      In der eMail erscheinen immer noch die Leerzeilen nach jeder Zeile.

                      Gruß
                      Dirk

                      Kommentar


                      • #12
                        du willst doch bestimmt das die zeilenumbrüche die man durch klick auf enter gemacht hat in der mail erscheinen und die automatischen die kommen weil kein platz in der textarea ist nicht erscheinen auf der mail oder?
                        dann mach es so:
                        Code:
                        $text=nl2br($text); // erzwungene \n werden zu 
                        
                        $text=str_replace("\n","",$text); // die automatischwen werden rausgefiltert
                        $text=eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "\n",$text); //die 
                         werden wieder zu \n
                        so wird dann das was man in die textarea schreibt auch in die mail geschrieben

                        Kommentar


                        • #13
                          hey,
                          also, genau so wie Du das beschrieben hast, würde ich das ja wollen.
                          Sprich, 1:1 so wie es in die textarea kommt. Wenn ich da dann enter drück, soll es dann auch ne neue Zeile geben.

                          Ich habe nun eingebaut :

                          Code:
                          $mailtext	= $_POST['text'];		
                          $mailtext	= nl2br($mailtext); // erzwungene \n werden zu 
                           
                          $mailtext	= str_replace("\n","",$mailtext); // die automatischwen werden rausgefiltert 
                          $mailtext	= eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "\n",$mailtext); //die 
                           werden wieder zu \n
                          Aber Auswirkungen hatte dies auch nicht sehr grosse.
                          Die Leerzeilen stehen immer noch drin.
                          Wenn ich nen "echo $_POST['text']" mache, kommt das Ganze in der Form :
                          1. Zeile 2.Zeile 3.Zeile 4.Zeile
                          raus !

                          Danke immer noch für Eure Hilfe

                          Kommentar


                          • #14
                            Problem gefunden

                            Hallo,
                            also, ganz zufällig habe ich heute das Problem gefunden.
                            Das Ganze passiert nur, wenn ich meine ePlus-eMail-Adresse benutze. Diese wird auch zu mir in die Firma weitergeleitet. Diese Mails kommen mit den ominösen Zwischenzeilen an.
                            Schicke ich jedoch eine eMail direkt an die Firmenadresse kommen diese richtig an.

                            Komisch, aber wenn es nur dadran liegt und die anderen User keine Probleme haben kann ich damit leben !

                            Danke für Eure Hilfe und viele Grüße
                            Dirk

                            Kommentar


                            • #15
                              Gleiches Problem...

                              Hey,


                              ich habe das gleiche Problem mit meinem Mailversand.

                              Auf meinem Thunderbird Mailclient wird die Mail mit doppelt Leerzeilen angezeigt.
                              Auf meinem SquirrelMail wird die Mail korrekt angezeigt.
                              Auf einem Outlook MailClient wird die Mail mit überhaupt KEINEM Zeilenumbruch dargestellt.

                              Hat noch jemand einen Tipp?!

                              Danke!

                              Kommentar

                              Lädt...
                              X