textarea -> mail(): Leerzeilen statt Zeilenumbruch

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

  • textarea -> mail(): Leerzeilen statt Zeilenumbruch

    Hab hier schon massig threads zu mail() und zeilenumbrüchen gelesen allerdings nirgends eine Lösung für mein problem gefunden...

    Ich habe in einem form eine textarea in die der text für die mail eingegeben wird.

    wenn ich nun zb
    "zeile1
    zeile2

    zeile3"

    eingebe, bekomme ich folgende email:
    "zeile1

    zeile2


    zeile3"

    Also jeder nromale zeilenumbruch wird zu einer extra leerzeile.

    Der code ist eigentlich uninteressant, der text für die mail wird an mail() so übergeben wie er aus der $_POST variable der textarea kommt. Häng den code aber trozdem mal an, hoffe mir kann jmd helfen :/

    PHP-Code:
    echo "<form method=\"POST\" action=\"index.php?link=newsletter\">
    <table>
    <tr><td>Betreff: </td><td><input type=\"text\" size=\"100\" name=\"betreff\"
     value=\""
    .$betreff."\">
    </td></tr>
    <tr><td>Mail: </td><td><textarea type=\"text\" cols=\"100\" rows=\"20\" size=\"1\" name=\"text\" wrap=\"soft\">"
    .$text."</textarea>
    </td></tr>
    <tr><td colspan=\"2\"><input type=\"hidden\" name=\"send\" value=\"yes\"><input type=\"submit\" value=\"Mails senden\" name=\"submit\"></td>
    </tr></table>
    </form>"
    ;
    }
    else{

    $query "SELECT id,email FROM newsletter";
    $erg mysql_query($query);

    $bcc "";
    $count 0;
    while (list(
    $id,$email) = mysql_fetch_row($erg)){

    $bcc .= "Bcc: ".$email."\r\n";
    $count++;
    for (
    $i=0;$i<200;$i++){
        if(list(
    $id,$email) = mysql_fetch_row($erg)){
    $bcc .= "Bcc: ".$email."\r\n";
        
    $count++;
        }
        else {
            break;
            }
        }
        
    $sender "bla";
    $sendermail "noreply@bla.de";
    $eigeneemail "newsletter@bla.de";
    mail($eigeneemail$betreff$text,"From: ".$sender." <".$sendermail.">\r\n".$bcc."");


    Zuletzt geändert von phobia; 13.03.2007, 03:19.

  • #2
    das \r\n durch \n ersetzen. Dann geht es.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      ich schreibe ja kein \r\n oder so - wenn dann wird das von der textarea erzeugt?
      Also filter ich jetzt die POST variable erstmal noch mit str_replace und schau wie es dann aussieht...

      Ok hat funktioniert danke
      für alle mit dem selben problem:

      PHP-Code:

      $textarea 
      $_POST['textarea']
      $sendtext str_replace("\r\n","\n",$textarea); 
      Zuletzt geändert von phobia; 13.03.2007, 14:29.

      Kommentar


      • #4
        mail($eigeneemail, $betreff, $text,"From: ".$sender." <".$sendermail.">\r\n".$bcc.""); << da entfernen
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          ne das problem ist schon gelöst siehe edit aber du bringst mich jetzt grade auf was anderes:

          da ich meinen BCC string ja auch mit "\r\n" aufbaue, also:
          PHP-Code:
          $bcc .= "Bcc: ".$email."\r\n"
          habe ich dann im endeffekt doch im sendheader quasi folgendes stehen:

          Bcc: email1
          [leerzeile]
          Bcc: email2

          Bcc: email3
          ...

          Dann sollte ich ja eigentlich dort ebenfalls nur "\n" verwenden?

          Kommentar


          • #6
            ja.
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              ok danke an alle

              Kommentar

              Lädt...
              X