Avatar billede gummimand Nybegynder
01. december 2003 - 11:17 Der 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;
}
Avatar billede 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.
Avatar billede 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.
Avatar billede sone Nybegynder
01. december 2003 - 11:24 #3
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.
Avatar billede gummimand Nybegynder
01. december 2003 - 11:44 #4
(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?
Avatar billede 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 :)
Avatar billede 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.
Avatar billede gummimand Nybegynder
08. december 2003 - 11:06 #7
Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester