mail() funktion nervt, kein <br>
Stephan
- php
0 Odium0 MudGuard0 Thomas Luethi0 Thomas Luethi0 Tom
Hallo,
ich habe jetzt so meine mail() funktion:
---
$namemail = '$_POST["name"]';
$betreff='BETREFF';
$anrede='Hallo $namemail,\n\n';
$newsletterauto="Blabla /n/n Benutzername: $username /n/n Passwort: $passwd . ";
$nachricht="$anrede$newsletterauto";
---
Nur er macht mir keine Absätze...
Danke schon jetzt für Tipps
Stephan
Hallo,
schon mal den Backslash probiert?
Odium
Was ist ein Backsplash?
Ok, habs!
Hi,
$namemail = '$_POST["name"]';
$betreff='BETREFF';
$anrede='Hallo $namemail,\n\n';
$newsletterauto="Blabla /n/n Benutzername: $username /n/n Passwort: $passwd . ";
$nachricht="$anrede$newsletterauto";
Nur er macht mir keine Absätze...
Warum sollte er auch Absätze machen, steht ja nichts da von Absätzen.
$anrede='Hallo $namemail,\n\n';
Hier weißt Du noch, wie Zeilenumbrüche gemacht werden.
$newsletterauto="Blabla /n/n Benutzername: $username /n/n Passwort: $passwd . ";
Hier weißt Du es plötzlich nicht mehr...
cu,
Andreas
Hallo,
ich habe jetzt so meine mail() funktion:
Was, Du hast eine eigene Funktion namens mail() geschrieben?
Das finde ich nicht besonders schlau...
Nimm keine reservierten Woerter
http://www.php.net/manual/de/reserved.php
oder Namen von bereits in PHP definierten Funktionen
als Namen fuer eigene Funktionen.
$namemail = '$_POST["name"]';
Da Du diesen Wert nachher weiterverwendest, solltest Du ihn
schon ein wenig genauer pruefen, z.B. ob er keine "boesen"
Sonderzeichen wie NULL (\0), Zeilenumbrueche (\n, \r) oder so
enthaelt.
$newsletterauto="Blabla /n/n Benutzername: $username /n/n Passwort: $passwd . ";
Nur er macht mir keine Absätze...
Kein Wunder. Du schreibst ja auch "/n/n" statt "\n\n".
Vielleicht ist auch die Funktion wordwrap() etwas, das Du fuer den eigentlichen
Mail-Inhalt einsetzen moechtest.
Allgemeines zu Zeilenumbruechen:
http://www.tiptom.ch/homepage/faq.html?q=zeilenumbruch
PHP-Manual: Strings in doppelten Anfuehrungszeichen - Escape-Folgen mit Backslash:
http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.double
Gruesse,
Thomas
Hallo,
Kleiner Nachtrag:
$namemail = '$_POST["name"]';
Die einfachen Anfuehrungszeichen sind natuerlich falsch und muessen weg:
Richtig waere:
$namemail = $_POST["name"];
oder
$namemail = $_POST['name'];
Gruesse,
Thomas
Hello Thomas Luethi,
Vielleicht ist auch die Funktion wordwrap() etwas, das Du fuer den eigentlichen
Mail-Inhalt einsetzen moechtest.
da hängt bei mir auch immer noch eine unbearbeitet Frage in der Schlange:
Welche Zeichen sind eigentlich bei der mail()-Funktion von php für welches Feld zugelassen? Ich habe mal ein bisschen dran geklopft und gebohrt und bin der Meinung, dass man da absolut nur den origial ASCII-Zeichensatz (bis 127d) benutzen darf - oder?
Also müsste man, sowie Umlaute verwendet werden, eine andere Codierung wählen. Das macht die Funktion aber nicht automatisch.
Wie tief stexkt Du da drin?
Wie man mit den Zusatzheadern umgeht, ist mir klar. Aber jedesmal eine MIME-Mail draus zu machen, ist mir auch zu blöde.
Grüße
Tom
Hallo,
Wie tief stexkt Du da drin?
Sorry, keine Ahnung.
Ich beschraenke mich darauf, die Sonderzeichen bei den Headern zu ersetzen,
bzw. nur vordefinierte Header zu verwenden.
Den eigentlichen Mail-Inhalt schicke ich einfach so durch. (Ausser \0).
Hoffe auch auf erleuchtende Antworten...
Gruesse,
Thomas