Hallo Zusammen,
ich hab mir einen Webmailer nachgebaut und erweitert, welcher zwar genau tut, was er soll, doch wenn ein Fehler auftritt sendet er trotzdem.
So kontrolliert dieses Script, ob Name, Vorname, E-Mail-Adresse und Kommentar eingegeben wurden. Ist dies nicht der Fall, so blockt es die Mail.
Wurde ein "hidden" Kontrollfeld ausgefüllt, so ist es Spam und wird geblockt.
Dies funktioniert so weit.
Wurde eine E-Mailadresse eingegeben, welche ohne @ oder . ist, so meckert es zwar, doch die E-Mail landet trotzdem in meinem Postfach.
Kann mir bitte jemand sagen, wie ich den umbauen muss, dass er dann nicht sendet, wenn die eingegebene Absender-E-Mailadresse nicht die benannten beiden Zeichen enthält.
Schon mal vielen Dank für Eure Hilfe
Liebe Grüße
andreas
PHP-Code:
<?php
$empfaenger="xxx@xxxxxde";
$betreff="Webmailformular";
$botschaft="Folgendes wurde angegeben:\n\n";
/* Schleife liest Attribut-Werte-Paare aus: */
foreach($_POST as $name=> $value) {
/* Alle Daten werden in $botschaft gespeichert: */
$botschaft.="$name=$value\n";
}
/* Versenden! Bitte Mail-Feld im Formular vorsehen! */
if (isset($_POST["Mail"]) && $_POST["Mail"]!="" && $_POST["Kommentar"]!="")
{ // Mail-Feld gesetzt und nicht leer? und Kommentar nicht leer?
/* Dann wird Versenden-Funktion mail() aktiv */
/*Wenn das Ned-Feld Daten enthaelt ist es Spam und wird nicht verschickt*/
if (empty($_POST['Ned']))
{
$affe="@";
$punkt=".";
$absender=$_POST["Mail"];
/*Kontrolle ob die E-MailAdresse ein @ und winwn . hat*/
$ist_affe = strpos($absender, $affe);
$ist_punkt = strpos($absender, $punkt);
if(($ist_affe === false) or ($ist_punkt === false)) {
echo "<h1>Bitte pruefen Sie ihre E-Mail Adresse</h1>";
echo "<p><a href='javascript:history.back()'>Zurueck</a></p>";
}
else {
$mailgut=1;
}
if((mail($empfaenger, $betreff, $botschaft, "From: $absender")) && ($mailgut==1))
{
/* War mail() erfolgreich, dann: */
echo "<h1>Danke für die Nachricht!</h1>\n";
echo "<p>Die Daten wurden weitergeleitet!</p>\n";
}
/* Sonst gibt es eine Fehlermeldung: */
}
else {
echo "<h1>Leider konnten Ihre eingegebenen Daten nicht versandt werden.</h1>\n";
}
}
/* else-Zweig äußere if bei nicht gesetzter Variable $Mail: */
else {
echo "<h1>Bitte geben Sie Ihre E-Mail-Adresse und/oder einen Kommentar an!</h1>\n<a href='javascript:history.back()'>zurück</a>";
}
?>
a