Veröffentlicht 22. Oktober 200618 j 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
22. Oktober 200618 j 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
23. Oktober 200618 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.