Hallo,
folgend die E-Mail-Funktion:
Leider wird eine ganz normale E-Mail-Adresse (z.B. test@gmx.de) als ungültige E-Mail-Adresse ausgegeben.
Wieso?
folgend die E-Mail-Funktion:
PHP:
function check_email($email, $tdl_check = 1)
{
// Die Überprüfung auf Zusatszeichen ist für die de-Domain optmiert und wird bei de Domains verwendet!!
// $tdl_check = 1 -> Es werden alle gültigen TLD überprüft
// $tdl_check = 0 -> Es wird sind eingetragene TLD gültig
// Die Liste der TLD kann erweitert werden, einfach weitere anfügen immer mit einem | dazwischen
$tld = ($tdl_check == 1) ? '([a-zA-Z]{2,4})' : 'de|com|org|biz|info|net|eu|at|ch|nl';
// Sonderzeichen
$tld_s_zeichen = preg_match('/\.de$/isU', $email) ? 'áàâåäãæcçéèêëíìîïñóòoôöoõøoúùûüuýyÿzðþß' : '';
// Allgemeine Überprüfung auf Format, Zeichenlänge und TLD
$pattern[0] = '/^[_a-z0-9]+(\.[_a-z0-9-]+)*@[_a-z0-9-'. $tld_s_zeichen .']{3,63}+(\.[_a-z0-9-'. $tld_s_zeichen .']{3,63}+)*\.'. $tld .'$/isU';
// Überprüfung auf min. ein Buchstabe
$pattern[1] = '/@(.*[a-z'. $tld_s_zeichen .']+.*)(\..*[a-z'. $tld_s_zeichen .']+.*)*\.'. $tld .'$/isU';
return (!preg_match($pattern[0], $email) || !preg_match($pattern[1], $email)) ? false : true;
}
if(!check_email($email))
{
$ret.=$anf.'Sie haben keine gültige E-Mail-Adresse angegeben.'.$end;
}
Wieso?
Zuletzt bearbeitet: