Michael: Formatierte Emails mit PHP verschicken

Hi,
ich hab ein Problem.
Und zwar möchte ich mit der PHP Funktion mail() eine Email verschicken die bei dem Empfänger formatiert ankommen soll. z.B.

Name               : Mustermann
Vorname            : Herbert
Strasse            : Musterstrasse
Ort                : Nimmerland
etc.

Mein Problem besteht darin die TABs zu setzen. Mehr als ein leerzeichen macht er nicht dann schiebt er alles zusammen.
Ist es mit mail() möglich so etwas hinzubekommen oder muss ich auf MIME ausweichen ?

  1. Hallo,

    Mehr als ein leerzeichen macht er nicht dann schiebt er alles zusammen.

    Das verstehe ich nicht. Mehrere Leerzeichen müßten problemlos möglich sein. Kannst Du uns mal den Code zeigen, mit dem Du das probiert hast?

    Christian

    --
    Hast Du einen Beitrag? Nur her damit!
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
    1. Also hier der Code:

      $adress = "xxx@xxx.de";
      $subject = "Prospektanfrage";
      $body = "Bitte senden Sie mir das Prospektmaterial an folgende Adresse:\n\n
       Firma           : $firma\n
       Name            : $name\n
       Vorname         : $vorname\n
       Strasse         : $strasse\n
       Haus Nr.        : $hausnr\n
       PLZ         : $plz\n
       Ort         : $ort\n\n";
      $from = "From: Webmaster xxx@xxx.de";

      $mailsend = mail("$adress", "$subject", "$body.", "$from");

      Also Tabs erkennt es wohl gar nicht aber die Leerzeichen wohl auch nicht.

      1. Hi

        Also Tabs erkennt es wohl gar nicht aber die Leerzeichen wohl auch nicht.

        \t sind Tabs!

        Gruß Christoph

        --
        Ich bin ein spezialisz!
        (Zitat von VENGA JO)
        sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
        1. Hey vielen Dank. Wo bekomm ich denn ne liste was \x etc. bewirkt?

          1. Hey vielen Dank. Wo bekomm ich denn ne liste was \x etc. bewirkt?

            joar: [http://forum.de.selfhtml.org/archiv/2003/2/37453/#m205141]

            --
            Ich bin ein spezialisz!
            (Zitat von VENGA JO)
            sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
            Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
            Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
            1. $body = "Bewerbung für eine Ausbildung als : $ausbildungsberuf\n
               Ausbildungsbeginn\t\t\t\t\t: $ausbildungsbeginn\n
               Name\t\t\t\t\t\t\t: $name\n
               Vorname\t\t\t\t\t\t:   $vorname\n
               Strasse\t\t\t\t\t\t\t: $strasse\n

              Also so funzt das jetzt aber auch nicht. erzeigt alles hintereinander an ?
              Was ist hier falsch ?

              1. Also so funzt das jetzt aber auch nicht. erzeigt alles hintereinander an ?
                Was ist hier falsch ?

                Deine Schreibweise!

                $body  = "Bewerbung für eine Ausbildung als : $ausbildungsberuf\n";
                $body .= "Ausbildungsbeginn\t\t\t\t\t: $ausbildungsbeginn\n";
                $body .= "Name\t\t\t\t\t\t\t: $name\n";
                $body .= "Vorname\t\t\t\t\t\t:   $vorname\n";
                $body .= "Strasse\t\t\t\t\t\t\t: $strasse\n";

                --
                Ich bin ein spezialisz!
                (Zitat von VENGA JO)
                sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
                Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
                1. $body  = "Bewerbung für eine Ausbildung als\t: $ausbildungsberuf\n";
                  $body .= "Ausbildungsbeginn\t\t\t\t: $ausbildungsbeginn\n";
                  $body .= "Name\t\t\t\t\t\t\t: $name\n";
                  $body .= "Vorname\t\t\t\t\t\t: $vorname\n";
                  $body .= "Strasse\t\t\t\t\t\t\t: $strasse\n";
                  $body .= "Haus Nr.\t\t\t\t\t\t: $hausnr\n";
                  $body .= "PLZ\t\t\t\t\t\t\t: $plz\n";
                  $body .= "Ort\t\t\t\t\t\t\t\t: $ort\n";

                  habs jetzt so geschrieben und funzt net.:(

                  1. Ok
                    1. gib mal dein ganzes Script
                    2. soviele Tabs bringen reingarnix. 2 reichen bei Emailformatierung völlig aus, auch manchmal 3!
                    3. ich habe fertig!

                    habs jetzt so geschrieben und funzt net.:(

                    --
                    Ich bin ein spezialisz!
                    (Zitat von VENGA JO)
                    sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
                    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
                    1. $adress = "xxx@xxxxx.xx";
                      $subject = "Bewerbung für eine Ausbildungsstelle";

                      $body  = "Bewerbung für eine Ausbildung als\t: $ausbildungsberuf\n";
                      $body .= "Ausbildungsbeginn\t\t\t\t: $ausbildungsbeginn\n";
                      $body .= "Name\t\t\t\t\t\t\t: $name\n";
                      $body .= "Vorname\t\t\t\t\t\t: $vorname\n";
                      $body .= "Strasse\t\t\t\t\t\t\t: $strasse\n";
                      $body .= "Haus Nr.\t\t\t\t\t\t\t: $hausnr\n";
                      $body .= "PLZ\t\t\t\t\t\t\t\t: $plz\n";
                      $body .= "Ort\t\t\t\t\t\t\t\t: $ort\n";
                      $body .= "Geburtsdatum\t\t\t\t\t: $geburtsdatum\n";
                      $body .= "Geburtsort\t\t\t\t\t\t: $geburtsort\n";
                      $body .= "Familienstand     : $familienstand\n";
                      $body .= "Staatsangehörigkeit    : $staatsangehorigkeit\n";
                      $body .= "Telefon privat      : $telprivat\n";
                      $body .= "Telefon mobil      : $telmobil\n";
                      $body .= "Fax        : $fax\n";
                      $body .= "Email       : $email\n\n";
                      $body .= "Wehrdienst geleistet    : $wehrdienst\n";
                      $body .= "Wehrdienstbeginn     : $wehrbeginn\n\n";
                      $body .= "besuchte Schule     : $schule\n";
                      $body .= "Eintrittsdatum in die Schule   : $schulbeginn\n";
                      $body .= "vorraussichtliches Schulende  : $schulende\n";
                      $body .= "vorraussichtlicher Schulabschluss : $abschluss\n\n";
                      $body .= "Fremdsprachen Kenntnisse   : $fremdsprache\n";
                      $body .= "besondere Kenntnisse    : $kenntnisse\n";
                      $body .= "Bemerkungen     : $bemerkungen\n\n";
                      $body .= "Adresse Erziehungsberechtigte  :\n";
                      $body .= "Nachname      : $elternname\n";
                      $body .= "Vorname      : $elternvorname\n";
                      $body .= "Strasse       : $elternstrasse\n";
                      $body .= "Hausnummer      : $elternhausnr\n";
                      $body .= "PLZ        : $elternplz\n";
                      $body .= "Ort        : $elternort\n";
                      $body .= "Telefon privat      : $elterntelprivat\n";
                      $body .= "Telefon mobil      : $elterntelmobil\n";
                      $body .= "Fax        : $elternfax\n";
                      $body .= "Email       : $elternemail\n";

                      $from = "From: Webmaster xxx@xxx.xxx";

                      $mailsend = mail("$adress", "$subject", "$body.", "$from");

                      So also ober der geänderte Teil und unten die TABs die rein sollen.

                      1. $mailsend = mail("$adress", "$subject", "$body.", "$from");

                        Das seh ich garnet gerne: schreibs so:
                        $mailsend = mail($adress, $subject, $body, $from);

                        Ansonsten solltest du, wenn diese Daten durch ein Formular gesendet werden mal ne neuere/sichere Schreibweise angewöhnen und prinzipiell Formulardaten durch $_POST['vorname'] usw. verschicken!
                        Ok aber nochmal zurück zu den Tabs, hast du schonmal probiert mit wenigeren Tabs? Also 2 oder 3 nur? Oder was genau geht denn da nicht? Kommt eine Fehlermeldung?

                        --
                        Ich bin ein spezialisz!
                        (Zitat von VENGA JO)
                        sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
                        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
                        1. Also er ueberliest einfach die tabs und setzt es zusammen. Also ob es kein \t gibt. und er macht nicht mal eins geschweige den 2. Gar keine. Das muss doch moeglich sein. ich habs mit leerzeichen probiert, die funzen aber nicht genau untereinander.

                          1. Vielleicht mal das \t nach dem : schreiben? also so
                            $body = "Bewerbung für eine Ausbildung als:\t $ausbildungsberuf\n";

                            Sonst weiss ich auch nicht mehr weiter...

                            --
                            Ich bin ein spezialisz!
                            (Zitat von VENGA JO)
                            sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
                            Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                            Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
      2. Hallo Michael,

        $adress = "xxx@xxx.de";
        $subject = "Prospektanfrage";
        $body = "Bitte senden Sie mir das Prospektmaterial an folgende Adresse:\n\n
        Firma           : $firma\n
        Name            : $name\n
        Vorname         : $vorname\n
        Strasse         : $strasse\n
        Haus Nr.        : $hausnr\n
        PLZ         : $plz\n
        Ort         : $ort\n\n";
        $from = "From: Webmaster xxx@xxx.de";

        $mailsend = mail("$adress", "$subject", "$body.", "$from");

        Bei mir klappt genau dieser Code wunderbar. (PHP 4.3.0, Mailprogramm: der Mail-Client von Mozilla 1.2.1) Ich vermute stark, dass das von Dir verwendete Emailprogramm das Problem ist und nicht PHP.

        Schicke doch einfach mal eine Testmail an mailto:spam@christian-seiler.de und ich sage Dir, ob und wie sie angekommen ist.

        Christian

        --
        Hast Du einen Beitrag? Nur her damit!
        http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
        SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
        sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[