Auf den ersten Blick sieht alles ganz gut aus, allerdings erhalte ich meine Testmails nicht. Hat jemand eine Idee, wo der Fehler ist?
PHP
<script language=JavaScript>
<!--
function isValid() {
var msg = "";
if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
kontaktFormular.eMail.value.indexOf(".") < 1) {
msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
}
if(kontaktFormular.vorName.value == "") {
msg += "- Leeres Feld: Vorname:\n";
}
if(kontaktFormular.nachName.value == "") {
msg += "- Leeres Feld: Nachname:\n";
}
if(kontaktFormular.nachricht.value == "") {
msg += "- Leeres Feld: Nachricht:\n";
}
if(msg == "") {
return true;
}
alert(msg);
return false;
}
-->
</script>
<?php
$formularAnzeigen = false;
if (!empty($_POST['senden']) && (
empty($_POST['vorName']) ||
empty($_POST['nachName']) ||
empty($_POST['eMail']) ||
empty($_POST['nachricht']))) {
$formularAnzeigen = true;
echo 'Bitte alle Felder ausfüllen';
} else if (!empty($_POST['senden']) &&
!isEmail($_POST['eMail'])) {
$formularAnzeigen = true;
echo 'Die E-Mail-Adresse ist nicht korrekt.';
} else if (empty($_POST['senden'])) {
$formularAnzeigen = true;
}
if ($formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
<table width="350px" border="0" cellpadding="0" cellspacing="0">
<!--anfang vorname-->
<tr>
<td><strong>
Vorname:
</strong></td>
<td>
<input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>
</tr>
<!--ende vorname-->
<!--anfang nachname-->
<tr>
<td><strong>
Nachname:
</strong></td>
<td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
</tr>
<!--ende nachname-->
<!--anfang email-->
<tr>
<td><strong>
E-Mail:
</strong></td>
<td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
</tr>
<!--ende email-->
<!--anfang nachricht-->
<tr>
<td><strong>
Nachricht:
</strong></td>
<td><textarea name="nachricht" cols="28" rows="8"><?=$_POST['nachricht']; ?></textarea></td>
</tr>
<!--ende nachricht-->
<tr>
<td colspan="3">
<div align="center">
<input style="font-size:10px; font-family:Arial, Helvetica, sans-serif; color:#000000" name="senden" type="submit" value="Senden" />
</div>
</td>
</tr>
</table>
</form>
<?php
} else {
$eMail = '
Vorname:
'.$_POST['vorName'].'
Nachname:
'.$_POST['nachName'].'
E-Mail:
'.$_POST['eMail'].'
Nachricht:
'.$_POST['nachricht'].'';
if (@mail("Meine@Email.de",
"Neue Nachricht vom Kontaktformular",
$eMail)) {
echo "Ihre Nachricht wurde an mich verschickt, vielen Dank!<br />";
} else {
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
}
if ($_POST['kopie']) {
if (@mail($_POST['eMail'],
"",
$eMail)) {
echo "<br />";
}
}
}
function isEmail($email) {
$nonascii = "\x80-\xff";
$nqtext = "[^\\$nonascii\015\012\']";
$qchar = "\\[^$nonascii]";
$protocol = "(?:mailto:)";
$normuser = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
$quotedstring = "\"(?:$nqtext|$qchar)+\"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
$dom_subpart = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
$dom_tldpart = "[a-zA-Z]{2,5}";
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$regex = "$protocol?$user_part\@$domain_part";
if (preg_match("/^$regex$/",$email)) {
return true;
}
return false;
}
?>
Alles anzeigen
MfG