|
John,
I have a bit of Java code that I wrote for a client awhile ago that does
similar to what you are looking for. I don't know if PHP has the equivalent
API set but thought I would share so you could see what I am accomplishing
with the code. See the utility class below followed by a test class. (Note:
Load this in eclipse and run it in debug to see how it works)
....DomainRecord.java....
import java.util.Hashtable;
import java.util.List;
import java.util.Vector;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class DomainRecord {
public static final String RECORD_SOA = "SOA";
public static final String RECORD_A = "A";
public static final String RECORD_NS = "NS";
public static final String RECORD_MX = "MX";
public static final String RECORD_CNAME = "CNAME";
public static List lookup(String hostName, String record) {
List result = new Vector();
try {
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"com.sun.jndi.dns.DnsContextFactory");
DirContext ictx = new InitialDirContext(env);
Attributes attrs = ictx.getAttributes(hostName, new String[] {
record });
Attribute attr = attrs.get(record);
NamingEnumeration attrEnum = attr.getAll();
while (attrEnum.hasMoreElements())
result.add(attrEnum.next());
} catch (NamingException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
return result;
}
}
....TestDomainRecord.java....
import java.util.Iterator;
import java.util.List;
import com.mowyourlawn.util.DomainRecord;
public class TestDomainRecord {
public static void main(String[] args) {
printList(DomainRecord.lookup("mowyourlawn.com",
DomainRecord.RECORD_A));
printList(DomainRecord.lookup("mowyourlawn.com",
DomainRecord.RECORD_MX));
printList(DomainRecord.lookup("mowyourlawn.com",
DomainRecord.RECORD_NS));
printList(DomainRecord.lookup("mowyourlawn.com",
DomainRecord.RECORD_SOA));
}
static void printList(List l) {
Iterator iter = l.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
}
}
HTH,
Aaron Bartell
http://mowyourlawn.com
-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] On
Behalf Of Jon Paris
Sent: Wednesday, January 18, 2006 7:43 PM
To: web400
Subject: [WEB400] DNS Lookups
I am using a small PHP program to perform validation on e-mail domain names
using gethostbyname.
I found that some domains (e.g. xyz.com) gave false fails, so I adapted the
program to also try mail.xxx.xxx. I'm still seeing failures on some
addresses that are supposed to be good. Any ideas on what else to check?
Reason I need this is that sometimes I have to operate using an ISP that
rejects all recipients if any one of them fails a DNS lookup. They don't
tell you _which_ one - so it can be a royal pain trying to isolate the
problem address.
Jon Paris
Partner400
www.Partner400.com
www.RPGWorld.com
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To post a
message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list
options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/web400.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.