Email versenden

Ador

Erfahrenes Mitglied
Hi,
ich möchte folgendes per "mail();" verschicken:
Frage: Wie muss ich die Variable "$nachricht" definieren, dass sie mir alles, was ich weiter oben per "echo" Ausgebe, verschickt?

PHP:
<?php



echo "Vorname: " . $_POST["vorname"] . "</br>";
echo "Nachname: " . $_POST["nachname"] . "</br>";
echo "tel: " . $_POST["tel"] . "</br>";
echo "Stra&szlig;e: " . $_POST["str"] . "</br>";
echo "PLZ: " . $_POST["plz"] . "</br>";
echo "Ort: " . $_POST["ort"] . "</br></br>";
echo "extra W&uuml;nsche: " . $_POST["wunsch"] . "</br></br>";
echo "Die Bestellung: <br>***********<br> " . $_POST["zus"];

$empfaenger = 'mail@mail.de';
$betreff = 'Bestellung';
$nachricht = 
mail($empfaenger, $betreff, $nachricht);

?>

mfg
 
Hi,

so in etwa:
PHP:
$nachricht = "Vorname: " . $_POST["vorname"] . "</br>
				Nachname: " . $_POST["nachname"] . "</br>
				tel: " . $_POST["tel"] . "</br>
				Stra&szlig;e: " . $_POST["str"] . "</br>
				PLZ: " . $_POST["plz"] . "</br>
				Ort: " . $_POST["ort"] . "</br></br>
				extra W&uuml;nsche: " . $_POST["wunsch"] . "</br></br>
				Die Bestellung: <br>***********<br> " . $_POST["zus"]; 

echo $nachricht;

$empfaenger = 'mail@mail.de'; 
$betreff = 'Bestellung'; 

mail($empfaenger, $betreff, $nachricht);
 
Hallo, ich habe momentan das gleiche Problem einen größeren Text mit Variablen bestückt mit der Funktion mail() zusenden.

Das Problem sind bei mir die Zeilenumbrüche gewesen
Also mit <br> geht nur wenn du auch noch sagst es ist HTML!
Also Content-Type: text/html, sonst musst du "\r\n" nehmen!

mail($empfaenger, $betreff, $nachricht, "From: $absender\nReply-To: $antwortan\nContent-Type: text/html");

Dann sollte alles klappen ^^
 
Hi,
also hat alles super so funktioniert. Als Umbruch hab ich \n genommen.

mfg
ad0r
 
Hallo, ich habe momentan das gleiche Problem einen größeren Text mit Variablen bestückt mit der Funktion mail() zusenden.

Das Problem sind bei mir die Zeilenumbrüche gewesen
Also mit <br> geht nur wenn du auch noch sagst es ist HTML!
Also Content-Type: text/html, sonst musst du "\r\n" nehmen!

mail($empfaenger, $betreff, $nachricht, "From: $absender\nReply-To: $antwortan\nContent-Type: text/html");

Dann sollte alles klappen ^^


richtig, genauso auch mit den Umlauten.
Einfach den richtigen Zeichensatz definieren, dann werden Umlaute auch ganz normal angezeigt.
 
Jo Danke! Das ist wichtig.

Hät noch ne Frage: Wie mach ich eines meiner Eingabefelder vom form als Pflichtfeld? Also das man es eingeben muss. Gibts da was für oder muss ich extra php if else abfrage machen?

mfg
 
endweder auf der Seite selbst per JavaScript prüfen, oder einfach auf der nächsten Seite, auf die du das Formular schickst, prüfen! Wenn es falsch ist lässt du einfach wieder zum Formular weiterleiten.
 
hi, danke.

Das mit der auf der nächsten Seite prüfen, würde ich hinkriegen, aber leider gibs keine nächste Seite, weils per Mail verschickt wird.

mit Javascript kennt ich mich leider nicht aus, kannst du mir da noch paar Hinweise oder den Codeschnipsel geben?

mfg
 
Hi,

du musst das garnicht auf einer anderen Seite prüfen. Die Seite mit dem Formular wird sowieso nach dem Abschicken neu geladen. Also kannst du das auch auf dieser Seite mit PHP prüfen.

Hier ein Beispiel:
PHP:
if (empty($_POST['pflichtfeld'])) {
    print 'Pflichtfeld muss ausgefüllt werden';
}
else {
    mail(...);
}
 
Ganz genau, das Prinzip ist das selbe.
Verschickst nur du diese Mails oder auch normale User, falls dies der Fall sein sollte würde ich noch einige Abfragen/Prüfungen mehr durchführen.

Wie es scheint ist der Empfänger fest deklariert, wir wollen ja nicht das dieser von einer Spamwelle überrannt wird ^^
 
Zurück