Avatar billede dnsmann Nybegynder
03. marts 2001 - 21:42 Der er 10 kommentarer

DNS opslag i Java

Hej Eksperter,
Jeg har meget brug for lidt hjælp, så jeg håber der er nogen her der kan hjælpe!

Sagen er den at jeg er ved at lave min egen mini-smtp server, men jeg er gået i stå ved selve dns opslaget.

Hvis jeg f.eks. skal aflevere en mail til morten@forum.dk skal jeg lave et dns opslag på forum.dk for at se hvilken server der skal tage i mod mailen. Et DNS opslag hos dk-hostmaster ser således ud:
forum.dk.              900    MX    5 postfix3.forum.dk.
forum.dk.              900    MX    5 postfix5.forum.dk.
forum.dk.              900    MX    5 postfix4.forum.dk.
forum.dk.              900    MX    5 postfix6.forum.dk.
forum.dk.              900    MX    100 postfix7.forum.dk.
forum.dk.              900    MX    15 postfix1.forum.dk.
forum.dk.              900    MX    15 postfix2.forum.dk.

Et sådan opslag vil jeg meget gerne kunne lave via Java, men jeg ved ikke hvordan man snakker med en dns-server??

- Skal man koble op på en bestemt port på en dns server, hvis ja - hvilken
- Hvilken kommando tager en DNS server imod, når man først er koblet op - og hvor finder jeg en beskrivelse af de kommandoer man kan bruge på en dns server
- Findes der en \"standard\" metode til at lave et dns opslag i Java, hvis ja: hvordan bruges denne?

Jeg håber DU kan hjælpe, bare med en af tingene??
Avatar billede sesam Nybegynder
03. marts 2001 - 22:07 #1
Avatar billede sesam Nybegynder
03. marts 2001 - 22:07 #2
Avatar billede dnsmann Nybegynder
03. marts 2001 - 22:20 #3
Nej ikke helt. Problemet er jo at man ved post skal bruge den såkaldte \"MX\" record.
Uden at vide det vil jeg tro at man manuelt skal koble op på en dns server og slå ip\'en op, men jeg ved det ikke.
De ekspempler du henviser til fortæller blot hvilken ip-adresse et bestemt domæne peger hen på, det kan man ikke bruge til noget når det gælder SMTP ;-)
Avatar billede lbhansen Nybegynder
03. marts 2001 - 22:52 #4
hvorfor ikke bruge JavaMail api´et til at lave sådan nogle ting?
Avatar billede kama Nybegynder
03. marts 2001 - 23:08 #5
Jeg har ikke den store erfaring med emnet, men måske du skulle kigge lidt nærmere på James-projektet http://jakarta.apache.org/james/index.html

Eller kig på JavaMail API:
http://java.sun.com/products/javamail/

Hvis du bruger java 2 med jndi-dns support(1.3) så fandt jeg nedenstående, som måske også kan bruges:

import javax.naming.*;
import javax.naming.directory.*;

public class mailer {

public mailer() {
}

public static void main (String args[]) {
try {
DirContext ictx = new InitialDirContext();
Attributes attrs3 = ictx.getAttributes(\"dns://din dns-server/domæne som skal undersøges\",new String[] {\"MX\"});
NamingEnumeration atributos=attrs3.getAll();
while(atributos.hasMore())
System.out.println(atributos.next());
} catch (Exception exp) {
System.out.println(exp);
}
}
}

/kama
Avatar billede dnsmann Nybegynder
04. marts 2001 - 08:33 #6
jeg får følgende fejl:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
Avatar billede kama Nybegynder
04. marts 2001 - 11:32 #7
Som standard er der krav om dette indhold, men kan vist nok overskrives med:

NamingManager.setInitialContextFactoryBuilder().

/kama
Avatar billede dnsmann Nybegynder
04. marts 2001 - 12:06 #8
Det forstår jeg ikke helt. Kan du ikke uddybe hvor jeg skal sætte koden ind henne?
Avatar billede dnsmann Nybegynder
04. marts 2001 - 13:02 #9
Grunden til at jeg ikke ønsker at bruge standart API\'et er at jeg ønsker 100% kontrol over de mails der bliver sent via min applikation.
Det jeg bare skal bruge er:

jeg har en adresse der hedder john@forum.dk

jeg skal derfor connecte til forum.dk\'s mail server, men før jeg kan dette er jeg nød til at finde ud af hvilke(n) mail-server der tager imod mails til @forum.dk, det gør jeg ved at lave et dns-opslag og kikke på \"MX\".
Men jeg ved ikke hvordan jeg laver dette dns opslag, hvor man får ALT på domænet med, er der slet ingen der kan hjælpe??
Avatar billede kama Nybegynder
04. marts 2001 - 15:11 #10
Det eneste jeg kan foreslå er at kigge i denne tutorial, som har nogle eksempler:

http://java.sun.com/products/jndi/tutorial/TOC.html

Håber det kan hjælpe.

/kama
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
Kurser inden for grundlæggende programmering

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