On 07/12/2012 11:17 AM, Al wrote:
I want to do a rDNS check on a admin entered host name to insure
in-coming mail servers don't reject mail, sent by my app, because the
rDNS doesn't exist or doesn't match.

Here is the fundamental code:

$host = $_SERVER['SERVER_NAME']; //site name shared or not
$ip = gethostbyname($host);

$hostName = gethostbyaddr($ip); //May be different on a shared host
$ip2 = gethostbyname($hostName);

Throw in a filter_var() check with the FILTER_VALIDATE_IP flag?

if ( filter_var($hostName, FILTER_VALIDATE_IP) === TRUE ) {
        # This is an IP
        # do something

Or do a conditional check

if ( $hostName === $ip2 ) {
        # no change...
        # handle no resolution issue.

The $ip works fine.

However, one of the shared hosts I'm working with returns this instead
of the original $host

gethostbyaddr($ip)=> [foo is subs for actual]

gethostbyname($hostName)=> It appears
gethostbyname() is just returning $hostName because it is not legit.
Using just the foo.com in gethostbyname() returns the host's server IP.

Thus, the typical rDNS check fails for this site. Several online checks
also report rDNS fails.

Any suggestions how I can handle this?

Jim Lucas


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to