Avatar billede leif Seniormester
22. juni 2005 - 22:10 Der er 8 kommentarer og
1 løsning

Tjeck hvor MX record peger hen

Hej,

Har fundet denne lille kode stump. Den skriver fint "Den indtastede email er ikke gyldig." hvis domænet overhovedet ikke findes. Men tester jeg med et domæne der findes men som ikke har nogen MX record siger den stadig OK.

Nogen der kan se hvordan man kan udvide den til at fortælle hvilken IP MX recordet peger på ?

//Kode
$email = "test@domæne.dk";
$email = explode('@',$email);
$mailhost = $email[1];
$mailhost=$mailhost.".";
if (getmxrr($mailhost, $MXhosts) == FALSE && gethostbyname($mailhost) == $mailhost) {
    echo "Den indtastede email er ikke gyldig.";
} else echo"Ok.";
//Kode

På forhånd tak for input.

Fra
Leif
Avatar billede coderdk Praktikant
23. juni 2005 - 01:52 #1
Så skal du kun bruge getmxrr:

if (!getmxrr($mailhost, $MXhosts)) {
    echo "Den indtastede email er ikke gyldig.";
} else echo"Ok.";
Avatar billede leif Seniormester
24. juni 2005 - 15:19 #2
Ja, den siger fint OK til at der er et MX record, men jeg skal desværre også vide hvor det peger hen ?
Avatar billede leif Seniormester
24. juni 2005 - 15:26 #3
Hmm, hvis jeg udskriver $MXhosts får jeg bare Array !
Avatar billede coderdk Praktikant
24. juni 2005 - 16:54 #4
Det er fordi $MXhosts er et array der indeholder de MX-records der måtte være - Der kan jo være mere en én! Prøv at lave en:

echo "<pre>"; var_dump( $MXhosts ); echo "</pre>";
Avatar billede leif Seniormester
24. juni 2005 - 19:11 #5
Hmm ! Det er jo godt !

Takker.

Et lille side spørgsmål: Hvis jeg fx. vil tjecke om array indeholder en bestemt IP adresse. Normalt ville jeg bruge en løkke og lave det i, men jeg skal jo først have oversat DNSnavnet til en IP adresse og der efter skal jeg tjecke om IPen på bare det ene MX record peger på en bestemt IP adresse. Dvs. er der 3 MX record er det bare en af de 3 der ikke på pege på IP adressen. Var det sort ?
Avatar billede coderdk Praktikant
24. juni 2005 - 20:56 #6
if ( in_array( $ip, $ip_array ) )
{
  echo "Den var i!";
}
else
{
  echo "Desværre";
}
Avatar billede leif Seniormester
24. juni 2005 - 21:00 #7
Ja, men MX recordet peger på et DNS navn ! Derfor skal jeg vel have noget gethostbyname($mxrecord) med ind ?
Avatar billede coderdk Praktikant
24. juni 2005 - 21:23 #8
Ah ok jeg tror jeg har fattet det - Ja, du er nødt til at lave en løkke og loope igennem  og lave gethostbyname() og checke om den resulterende ip adresse er i dit array, som i mit eksempel.
Avatar billede leif Seniormester
25. juni 2005 - 00:28 #9
Takker endnu en gang, har fået lavet det.
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