Mail Problem

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

  • Mail Problem

    Hallo,

    Ich möchte folgendes per Mail verschicken:

    Ich habe eine Variable $gesamt, die sich aus mehreren Variablen zusammensetzt.
    Zum Beispiel: $text1, $text2,$text3

    If ($text1) {$gesamt .= "$text1<br>";}
    If ($text2) {$gesamt .= "$text2<br>";}
    If ($text3) {$gesamt .= "$text3<br>";}

    Die HTML Ausgabe von $gesamt ist dann, wenn alle $text1-3 existieren:
    Inhalt text
    Inhalt text2
    Inhalt text3

    So weit so gut.

    Jetzt möchte ich aber die $gesamt per ASCII Mail verschicken und er soll mir in meiner Mail ebenfalls die <br> anzeigen.
    Das funktioniert aber in meiner ASCII mail nicht.

    Die mail sieht dann so aus:
    Inhalt text1<br>Inhalt text2<br>Inhalt text3<br>

    Er sieht also in der mail nicht, dass ich breaks haben möchte.
    Ich habe auch schon versucht mit str_replace dir <br> durch \n zu ersetzen, aber das mag er auch nicht (


    Jemand eine Idee ??

  • #2
    Ich habe auch schon versucht mit str_replace dir <br> durch \n zu ersetzen
    Das ist aber der richtige ansatz.

    versuch mal \n\r

    alternativ (halte ich für besser)

    erst $gesamt mit normalen umbrüchen definieren, und dann nl2br darüber laufen lassen. dann haste den html-quelltext auch entsprechend formatiert.

    Kommentar


    • #3
      versuch mal \n\r
      \r\n ist hier wohl besser. ,-)
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        schwups...

        Kommentar


        • #5
          hhhhmmm

          also in mit $gesamt = str_replace('<br>','/r/n',$gesamt);
          gehts nicht!

          Wie meinst du das mit normalen Umbrüchen und dann nl2br drüber laufen lassen?

          Kommentar


          • #6
            arghhh

            $gesamt = str_replace('<br>','',$gesamt);
            $gesamt=nl2br($gesamt);


            Auch so geht es nicht (

            Kommentar


            • #7
              $gesamt = str_replace('<br>','',$gesamt);
              $gesamt=nl2br($gesamt);
              funktioniert mit sicherheit, bringt nur logischerweise nicht das gewünschte ergebnis

              zeig mal nen kleinen testcode.

              Kommentar


              • #8
                Beispiel

                if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
                if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
                if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}

                $gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
                $gesamtmaterial=nl2br($gesamtmaterial);

                $empfmail = "xxx@xxx.de";
                $headers ="MIME-Version: 1.0\r\n";
                $headers.="From: ".$Name." <".$Email.">\n";
                $headers.="To: ".$empfmail." <".$empfmail.">\n";
                $headers.="Reply-To: ".$Name." <".$Email.">\n";
                $headers.="X-Priority: 3\n";
                $headers.="X-MSMail-Priority: Normal\n";
                $headers.="X-Mailer: Webserver\n";
                mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);

                Kommentar


                • #9
                  so meinte ich das nicht, weil so kann ich kein stück ausprobieren, weil ich deine testwerte ja nicht kenne.

                  btw: mit über 100 postings solltest du eigentlich die regeln bezüglich des posten von quellcode kennen!

                  Kommentar


                  • #10
                    ok

                    Hmm, ich kann hier nicht den ganzen code posten, aber so müsst es auch gehen:

                    <?php
                    $pdf1 = "test";
                    $pdf1a = "test2";
                    $pdf1b = "test3";

                    if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
                    if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
                    if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}

                    echo "Du hast folgende Materialien ausgewählt: §gesamtmaterial";

                    if ($gesamtmaterial){
                    $gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
                    $gesamtmaterial=nl2br($gesamtmaterial);

                    $Name = "Heinz";
                    $Email = "mustermann@mustermann.de";

                    $empfmail = "DeineEmail";
                    $headers ="MIME-Version: 1.0\r\n";
                    $headers.="From: ".$Name." <".$Email.">\n";
                    $headers.="To: ".$empfmail." <".$empfmail.">\n";
                    $headers.="Reply-To: ".$Name." <".$Email.">\n";
                    $headers.="X-Priority: 3\n";
                    $headers.="X-MSMail-Priority: Normal\n";
                    $headers.="X-Mailer: Webserver\n";
                    mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);
                    }
                    ?>

                    Nochmal vielen Dank für deine Hilfe

                    Kommentar


                    • #11
                      ups

                      echo "Du hast folgende Materialien ausgewählt: §gesamtmaterial";

                      muss heissen:
                      --> echo "Du hast folgende Materialien ausgewählt: $gesamtmaterial";

                      Kommentar


                      • #12
                        da muss ich den link wohl doch noch posten:
                        http://www.php-resource.de/forum/sho...threadid=50454



                        außerdem hatte ich glaube ich schonmal gepostet, dass

                        if ($gesamtmaterial){
                        $gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
                        $gesamtmaterial=nl2br($gesamtmaterial);

                        schwachsinn ist!

                        Kommentar


                        • #13
                          oh man

                          Ich weiss doch selbst das das Schwachsinn ist, ich habe das ja hier gepostet, um von euch Hilfe bei meinem Problem zu erhalten !!!

                          Bitte poste doch nicht, dass das so nicht funktioniert, sondern ich wäre dir sehr dankbar, wenn du mir bei meinem Prolem helfen könntest!!

                          Kommentar


                          • #14
                            wenn du nicht auf mich eigengehst (anpassung den Quelltextes - sowohl inhaltlich als auch format), werde ich auch nicht näher auf dein Prob eigehen. Sorry.

                            Kommentar


                            • #15
                              hab doch schon

                              ok dann poste ich das ganze nochmal:

                              [PHP]
                              <?php
                              $pdf1 = "test1";
                              $pdf1a = "test2";
                              $pdf1b = "test3";

                              if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
                              if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
                              if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}

                              echo "Du hast folgende Materialien ausgewählt:<br>$gesamtmaterial";

                              if ($gesamtmaterial){
                              $gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
                              $gesamtmaterial=nl2br($gesamtmaterial);

                              $Name = "Heinz";
                              $Email = "mustermann@mustermann.de";

                              $empfmail = "DeineEmail";
                              $headers ="MIME-Version: 1.0\r\n";
                              $headers.="From: ".$Name." <".$Email.">\n";
                              $headers.="To: ".$empfmail." <".$empfmail.">\n";
                              $headers.="Reply-To: ".$Name." <".$Email.">\n";
                              $headers.="X-Priority: 3\n";
                              $headers.="X-MSMail-Priority: Normal\n";
                              $headers.="X-Mailer: Webserver\n";
                              mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);
                              }
                              ?>
                              [\PHP]

                              -> Ich bekomme dann als html Ausgabe:
                              Du hast folgende Materialien ausgewählt:
                              test1
                              test2
                              test3

                              --> Soweit ok!

                              Nun erhalte ich eine mail, in der steht dann:
                              Du hast folgende Materialien ausgewählt:
                              test1test2test3

                              Ich hätte aber gern, dass in meiner Mail auch die Ausgabe so aussieht wie in der html Ausgabe!

                              Kommentar

                              Lädt...
                              X