Richtiger E-Mail check

Ich glaube, der Fehler ist irgendwo hier:

PHP:
// E-Mail Eingabecheck TRUE

$ez = "[-!#$%&'*+./0-9=?A-Z^_'a-z{|}~]+";
$regex = "^" . $ez . "@" . $ez . "." . $ez . "$";

if( $email == $regex )
{
 
ich habs ein bischen modifiziert:
PHP:
if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$",$email))
das sollte gehen
 
bla blub es ist im endeffekt egal, ob du nun nur prüfst ob die mail adresse ein @ und ein . enthält, oder noch den ganzen code oben.

wenn man bescheissen will, kann man es.

also reicht imho völlig:
if(! strstr($mail, ".") || ! strstr($mail, "@") print "Mail adresse ist in einem ungültigem Format";
 
Original geschrieben von pornex

wäre kuhl wenn jemand nen script postet das die e-mai adrese "anpingt" halt guckt ob es die WIRKLCIH gibt udn nicht ob die nur korreckt eingegebenwurde

also "anpingen" kann man eine email adresse nicht -dafür ist schon eine anfrage beim jeweiligen mailserver erforderlich :p

(nur fürs protokoll *g*)
 
Hallo,

ich muss mal diesen Post herauskramen.

Ist mit dem Regex dann sichergestellt, dass mit der eMail-Adresse keine Header mehr übergeben werden können (Damit z.B. jemand Massenmails über ein Kontaktformular versenden kann)?

Ausserdem verstehe ich im Regex den Passus nicht:
([zmuvtg]|fo|me)?
 
Zuletzt bearbeitet:
Wie meinst du das mit
dass mit der eMail-Adresse keine Header mehr übergeben werden können
?
Massenemails kannst du mit diesem Regex nicht verhindern. Da musst du dann schon ein Cookie (Wert: Timestamp), oder so setzten. Du überprüfst dann, die Zeit, die in dem Cookie steht und lässt dann dementsprechend zu, dass die Mail geschickt wird, oder du eben nicht.
 
Zurück