sveka
1
Ich brauch mal eure Hilfe bitte.
Ich möchte ein Kontaktformular mit PHP auswerten und dann mir ne Mail schicken und demjenigen ne Bestätigungsmail.
Könnt ihr mir da helfen.
Als Bsp. nehmt bitte einfach nen nachrichtenfeld und nen mailfeld. Danke
Achja… (sprich: edit)
Die Suchfunktion hat mich leider nicht weitergebracht.
da bitte, jetzt muss nur noch das formular dazu erstellt und die feldernamen angepasst werden:
[php]
<?php
//send.php
$name = $_POST['name'];
$message = $_POST['message'];
if(!mail('user@hot.tld', $_POST['name'], $_POST['message']))
{
echo 'mail konnte nicht versendet werden';
}
else
{
echo 'mail erflogreich versandt';
}
?>
[/php]
Nils aka XraYSoLo
Frank
3
Hier nochmal etwas genauerer ^^
formular.php
[PHP]
<?php
if(!empty($_GET['error']) AND $error = $_GET['error'])
{
echo ("
".$error."
");
}
?>
Ihre Emailadresse |
|
Ihre Nachricht |
|
[/PHP]
mail.php
[PHP]
<?php
if(empty($_POST['mail']) || empty($_POST['nachricht']))
{
header("location:formular.php?error=Nicht%20alle%20Felder%20ausgefüllt!");
}
else
{
$mail = $_POST['mail'];
$nachricht = htmlentities($_POST['nachricht']);
$param = "#[a-z0-9\.-_]*@[a-z0-9\.-_]*\.[a-z0-9\.-_]{2,4}#iU";
if(!preg_match($param,$mail))
{
header("location:formular.php?error=Ungültige%20Email-Adresse");
exit();
}
//Bestätigungsmail an absender
$Empfaenger = $mail;
$Betreff = „Kontaktformular“;
$Nachricht = „Wir haben ihr Kontaktformular erhalten, Danke!“;
$Header = „MIME-Version: 1.0\n“;
$Header .= „Content-type: text/html; charset=iso-8859-1\n“;
$Header .= „From: Kontaktformular\n“;
mail($Empfaenger, $Betreff, $Nachricht, $Header);
//mail an dich
$Empfaenger = „sveka@deine.email“;
$Betreff = „Kontaktformular“;
$Nachricht = „Kontaktformular abgesendet von:
$mail
Nachricht:
$nachricht“;
$Header = „MIME-Version: 1.0\n“;
$Header .= „Content-type: text/html; charset=iso-8859-1\n“;
$Header .= „From: Kontaktformular\n“;
mail($Empfaenger, $Betreff, $Nachricht, $Header);
}
?>
[/PHP]
Ich empfehle dir nicht die methode mail() zunehmen, da sie einen unsauberen Header übergibt und somit z.B. bei AOL als SPAM eingestuft wird !
Verwende das OS Produkt phpmailer
http://phpmailer.sourceforge.net/
system
6
man kann auch bei mail() saubere header schreiben, wenn man es kann:
beispiel:
„Reply-to: adminmail\n
From: adminmail\n)
Return-Path: adminmail\n
Message-ID: <md5(uniqid(time()))@localhost>\n
MIME-Version: 1.0\nContent-type: text/plain; charset=iso-8859-1\n
Content-transfer-encoding: 8bit\n
Date: " . date(‚r‘, time())\n
X-Priority: 3\n
X-MSMail-Priority: Normal\n
X-Mailer: PHP\n
X-MimeOLE: Produced By Me\n“