";
//send email
$email = $_REQUEST['email'];
mail("", "Subject: $subject",
$message, "From: $email");
echo "Thank you for using our mail form";}}? >
Ob die Domain vorhanden ist wird hier noch nicht geprüft. Hier nun eine erweiterte Funktion: function mailcheckDNS($mail) { $email = htmlspecialchars($mail); $r = false; if(preg_match('/(. *? )@(. *? ). (w){2, 6}/i', $email)) { $split = explode('@', $email); $split2 = explode('. ', $split[1]); if(preg_match('/([a-z]){3, 64}/i', $split2[0])) { if(preg_match('/([a-z0-9! "$&/()? ~#+. :_-]+){1, 64}[^@]/i', $split[0])) { $MXCheck = getmxrr($split[1], $mxhosts); if(! empty($MXCheck)) { $r = true;}}}} return $r;} Diese überprüft nun zusätzlich ob die Domain überhaupt existiert indem sie versucht diese zu erreichen. Ist dies möglich dann fällt die Überprüfung positiv aus, wenn nicht dann negativ. Es gibt keinen 100%igen Emailcheck, aber was man prüfen kann das sollte man auch. Rechtschreibfehler kann man einfach nicht prüfen. Dafür könnten man z. Daten validieren – PHP lernen. B. den User die Emailadresse 2 mal eingeben lassen, zur Sicherheit. Gruß Gordon Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr!
Die Filter-ID validiert die E-Mail anhand der Syntax in RFC 822. Wir können die Validierung von E-Mails mit einer gültigen und einer ungültigen E-Mail testen. Erstellen Sie beispielsweise eine Funktion validateEmail(), die einen Parameter $email übernimmt. Verwenden Sie die Funktion filter_var() auf die Variable $email und geben Sie als zweiten Parameter die Filter-ID FILTER_VALIDATE_EMAIL an. Wenden Sie die Bedingung if-else auf die Funktion filter_var() an. Php email validierung web. Zeigen Sie im if -Block die Meldung an, dass die E-Mail gültig ist, und im else -Zustand, dass die E-Mail ungültig ist. Rufen Sie die Funktion außerhalb der Funktion zweimal auf. Geben Sie im ersten Funktionsaufruf das Argument und an. beim zweiten Anruf. Wir können davon ausgehen, dass auf die im Beispiel angegebene E-Mail-Adresse aus einem Formular über die Variable $_POST zugegriffen wird. Die Funktion im folgenden Beispiel wird zweimal aufgerufen. Der erste Aufruf übergibt eine gültige E-Mail-Adresse und die zweite Adresse eine ungültige E-Mail.
:\\x5C[\\x00-\\x7F]))*\\x22)))*@(? :(? :(?!. *[^. ". "]{64, })(? :(? :(? :xn--)? [a-z0-9]+(? :-[a-z0-9]+)*\\. ){1, 126}){1, }(? :(? :[a-z][a-z0-9]*)|(? :(? :xn--)[a-z0-9]+))(? :-". "[a-z0-9]+)*)|(? :\\[(? :(? :IPv6:(? :(? :[a-f0-9]{1, 4}(? ::[a-f0-9]{1, 4}){7})|(? :(?! (? :. *[a-f0-9][:\\]]){7, })(? :[a-f". "0-9]{1, 4}(? ::[a-f0-9]{1, 4}){0, 5})? ::(? :[a-f0-9]{1, 4}(? ::[a-f0-9]{1, 4}){0, 5})? )))|(? :(? :IPv6:(? :(? :[a-f0-9]{1, 4". "}(? ::[a-f0-9]{1, 4}){5}:)|(? :(?! (? :. *[a-f0-9]:){5, })(? :[a-f0-9]{1, 4}(? ::[a-f0-9]{1, 4}){0, 3})? ::(? :[a-f0-9]{1, 4}". Php send email + validierung??. "(? ::[a-f0-9]{1, 4}){0, 3}:)? )))? (? :(? :25[0-5])|(? :2[0-4][0-9])|(? :1[0-9]{2})|(? :[1-9]? [0-9]))(? :\\. (? :(? :25[0-5]". ")|(? :2[0-4][0-9])|(? :1[0-9]{2})|(? :[1-9]? [0-9]))){3}))\\]))$/iD"; Und das hier aus den Grundlagen ist auch ein super Artikel LG @DEdK4ever: 1. if/else erübrigt sich, wenn Du nur preg_match benutzt. Das kann man direkt zurückgeben. Aber siehe 2) 2. Benutze besser bool als Rückgabetyp Ist das Formular damit noch vor schädlichem Code geschützt?
Ich bin echt möchte doch nur ein simple script ahnlich wie bei diesem Beispiel Newsletter Subscription
hier mein es klappt überhaupt nicht
PHP-Code:
if(isset( $_REQUEST [ 'email'])){
// wurde das Formular abgesendet
if( strlen ( $_REQUEST [ 'email']) > 0){
// hat der Benutzer Email eingegeben
//require(''); oder DB-Logik
//evtl: exit();}else{
$error = "Fehler: Bitte geben Sie Ihren Namen und Ihren Vornamen ein.
";
//send email
$email = $_REQUEST [ 'email'];
mail ( "", "Subject: $subject",
$message, "From: $email");
echo "Thank you for using our mail form";}}? >