jghj Geschrieben 22. Oktober 2006 Geschrieben 22. Oktober 2006 Hallo Board, hat jemand ne Ahnung wie ich an den MX-DNS-Eintrag ran komme per java? Such mich hier gerade wund ;-) Gibts da was auf bordmitteln oder müssens externe libs machen? wenn ja, wo gibts die? *g danke im Voraus mfg jghj Zitieren
perdian Geschrieben 22. Oktober 2006 Geschrieben 22. Oktober 2006 Zumindest soviel steht fest: Mit Bordmitteln gehts nicht. Zitieren
jghj Geschrieben 22. Oktober 2006 Autor Geschrieben 22. Oktober 2006 mmhhh...dann muss ich wohl wirklich direkt mim dns sprechen und das Protokoll zunem kleinen Teil implementieren oder? Gibts da evtl schon ne java klasse? oder was nettes zum lesen außer die _bösartigen_ rfcs ;-) sonst werd ich mich wohl auf diese stürzen =) mfg jghj Zitieren
jghj Geschrieben 23. Oktober 2006 Autor Geschrieben 23. Oktober 2006 Hab da doch noch ne Möglichkeit gefunden und ne Klasse geschrieben. Ich nehme nur den ersten Empfangenen Record und gebe ihn zurück, das kann man natürlich auch noch weiter ausbauen und alle innem array oder ner liste zurückgeben....naja hier der source: import java.util.regex.Pattern; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.InitialDirContext; final public class MXRecord { final public static String sValidDns = "^(?:[a-zA-Z0-9\\-_]+\\.){1,}[a-zA-Z]{2,5}$"; public static String getMXRecord( String sDomainName ) { if( sDomainName == null ) { return null; } if( !Pattern.matches( sValidDns, sDomainName ) ) { /* * invalid domain name */ return null; } try { InitialDirContext iDC = new InitialDirContext(); Attribute attr = iDC.getAttributes( "dns:/"+ sDomainName, new String[] { "MX" } ).get( "MX" ); if( attr == null || attr.size() == 0 ) { /* * if no record exists, it's the domain self */ return sDomainName; } String[] parts = attr.get( 0 ).toString().split( "[ \t]+" ); if( parts.length < 2 ) { return null; } return parts[ 1 ]; } catch (NamingException e) { return null; } } } viel spaß damit ;-) mfg jghj Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.