Avatar billede nemlig Professor
03. september 2016 - 10:30 Der er 4 kommentarer og
1 løsning

Valider emailadresse driller

Hejsa.
Jeg har længe brugt neden stående kode til at validere et inputfelt for korrekt indtastet emailadresse. Jeg bruger bl.a.:


if (!filter_var($emailArray[$i], FILTER_VALIDATE_EMAIL)) {.....
$host = explode('@', $emailArray[$i]);
if(!checkdnsrr($host[1], 'MX') ) {....
if(!checkdnsrr($host[1], 'A') ) {...


Det har indtil nu fungeret perfekt, men emailadressen "mig@youmail.dk" fejler i denne kode:

checkdnsrr($host[1], 'A')


Jeg kan jo næsten regne ud, at denne kontrol, må jeg udlade, men er der nogen, der kan forklare, hvorfor der ikke er nogen A-record på youmail.dk.
Avatar billede arne_v Ekspert
03. september 2016 - 13:38 #1
youmail.dk er et email domaene d.v.s. at det kun kan bruges til email.

Derfor har det kun en MX record og ikke en A eller CNAME record.

Det et helt normalt.
Avatar billede arne_v Ekspert
03. september 2016 - 16:36 #3
youmail.dk jar en MX record som peger paa fpo.mail.dk og fpo.mail.dk har en A record som peger paa 80.160.76.237.
Avatar billede nemlig Professor
05. september 2016 - 07:41 #4
Tak Arne for info. Jeg nøjes med at kontrollere MX.
Avatar billede arne_v Ekspert
05. september 2016 - 14:58 #5
Hvis der ingen MX record er saa skal du checke A record.

Men hvis der er en MX record skal du ikke checke A record.

if MX record then
    good
else if A record then
  good
else
  bad
end if

muligvis:

if MX record then
    good
else if A record then
  good
else if CNAME record then
  hmm they are in violation of the rules but it most likely will work
else
  bad
end if
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