01. december 2003 - 11:17Der er
5 kommentarer og 2 løsninger
Email-tjækker - kan man stole på den
Jeg har fundet inspiration på nettet til den nedenstående funktion. Funktionen skulle meget gerne tjække om en email er valid, ikke syntaxen, men eksistensen. Jeg har selvfølgelig testet den på en lang række email's og ikke endnu fået forkerte svar, men sidder aligevel med en fornemmelse af at metoden ikke er til at stole på - er der nogen der tør udtale sig om det?
function chkEmail($string){
if (eregi("^[0-9a-z_]([-_.]?[0-9a-z])*@[0-9a-z][-.0-9a-z]*\\.[a-z]{2,3}[.]?$", $string, $check)) { $host = substr(strstr($check[0], '@'), 1)."."; if ( getmxrr($host, $validate_email_temp) ) return 1; // THIS WILL CATCH DNSs THAT ARE NOT MX. if(checkdnsrr($host,"ANY")) return 1; } return -1; }
Det er mindst lige så afgørende at optimere overblik, kontekst og datakontrol som at beslutte, hvilken AI-model man skal satse på.
Slettet bruger
01. december 2003 - 11:22#1
Den kan jo kun tjekke om hosten findes, ikke om der er tilknyttet mailadresser, eller om den e-mail adresse du indtaster overhovedet er aktiv/oprettet.
Men det er da bedre end ingenting.
Synes godt om
Slettet bruger
01. december 2003 - 11:24#2
Den kontrollerer ikke, om brugerdelen af emailadressen er OK, men det kan man også kun kontrollere ved at sende en mail dertil.
Til gengæld mener jeg godt, du kan regne med dens kontrol af host-delen af adressen.
Hvis du vil være 100% sikker, så send en email med en link til den nye email-adresse. Adressen er ikke godkendt før personen i den anden ende klikker på denne link.
(El Barto - du bliver nød til at kaste et svar hvis jeg skal dele point ud!)
OK - interessant! Dvs. at jeg kan være 100% sikker på funktionen hvis den AFVISER en email, men kun delvis sikker hvis den godkender?
Synes godt om
Slettet bruger
01. december 2003 - 12:02#5
Ja det ville jeg mene. Men er ikke ret meget inde i MX records og domæner.
Ingen point til mig tak :)
Synes godt om
Slettet bruger
02. december 2003 - 00:27#6
gummimand-> Det er fuldstændigt korrekt opfattet. Og så alligevel ikke helt. Funktionen er afhængig af korrekt fungerende DNS, så hvis en DNS-server på nettet er nede, kan du risikere at få nej på en ellers gyldig adresse. Dette sker dog sjældent, da de fleste DNS-servere har 2 eller flere backupservere, så under normale omstændigheder kan du godt regne med at et NEJ fra funktionen er korrekt.
Det vil forresten ikke være muligt at lave en funktion, som også kan kontrollere brugerdelen af en emailadresse. Nogle mailservere godtager nemlig post til ikke-eksisterende brugere, og smider den bare væk derefter. F.eks vil denne_bruger_eksisterer_ikke@hotmail.com give et OK fra din funktion, men du vil normalt først finde ud af, at den er falsk, når du modtager en bounce fra mailserveren. Et PHP-script har normalt ikke tid til at vente på en bounce.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.