Page 7 of 15

Posted: Thu Sep 01, 2005 4:46 pm
by Wulf_9
When you get stuck in this way it's a good idea to read back off the MOD script and open and check each file in turn - if anything's missing or wrong it will soon show ;)

Posted: Fri Sep 02, 2005 11:30 pm
by kornhead
unfortunately it doesn't work with any email boxes i've tryed...

Posted: Sat Sep 03, 2005 5:29 pm
by 4rum
Can this MODification be enabled ONLY upon a change of email addrress.

Scenario:
  • A user registers and the confirmation email is sent. Activation of the accont is done via the incuded activation URL. This proves a valid email address.
  • Later the member changes the email address..
At this point ONLY can the LEV MODification be set to kick in?

Posted: Sat Sep 03, 2005 11:35 pm
by Wulf_9
Why would you not want to verify the original submission? If it's somehow wrong, that activation email will bounce. LEV addresses this problem at source by checking ANY submission of the profile form for a valid email account.

Posted: Sun Sep 04, 2005 12:54 am
by 4rum
That does not answer my question and I explained why. Email is validated at registration.

Posted: Sun Sep 04, 2005 1:43 am
by Wulf_9
If you're going to be short, then so shall I.

NO.

LEV will continue to be enabled for all submissions.

Posted: Sat Sep 24, 2005 3:38 am
by kristara
I have the mod installed, however, the text in the admin panel doesn't show up, neither is the YES checked. When I click YES, and go back to the config, the text shows up and the check. However, when I leave the configuration and go back to it, it defaults to the previous.

Any idea?

(Off topic sort of) Also, I have ran across more than once when you get an error in a table about a duplicate entry. (mine seems to be okay this time) However, prior to this mod install, someone told me I have to reinstall the whole DB to fix it. Any quick fixes for that one?

Thanks alot!

Posted: Sat Sep 24, 2005 3:54 am
by kristara
oops

Posted: Sun Sep 25, 2005 10:23 am
by Wulf_9
Has the SQL been executed? Either use the supplied setup script or run the query manually (or use EM if you're that way inclined). This kind of fault is usually due to missing $lang entries ;)

Posted: Tue Sep 27, 2005 1:57 am
by crossfire39
I am getting this error for every fake email address I try for every provider: hotmail, aol, yahoo, etc.
Could not connect to the mail server, see the FAQ page for further info
aol.com : no route to this domain, host unavailable


Help appreciated.

Thank you.

Posted: Tue Sep 27, 2005 2:10 am
by Wulf_9
This problem is due to the way web-based mailhosts are set up. Try a proper POP3 mailbox on a regular ISP account. That error message means the remote site isn't allowing any connections on port 25 from anywhere outside their own domain, fairly typical for the providers you've mentioned. :roll:

Posted: Tue Sep 27, 2005 6:20 pm
by OmNi.Eternal
You should note that in some IIS Win32 systems running PHP the popen/exec/system/passthru functions won't execute properly depending on the php version and/or the configuration of IIS.

From what i've gathered, the recent versions of PHP 4 automaticly prepend cmd /c to commands and if IIS is locked down it denies access to the cmd.exe file therefore the nslookup fails to execute properly and will cause the message that it could not connect to the mail server, no route etc...

To get this to work on my system I granted the Internet Guest and the web service access to cmd.exe.

Posted: Tue Sep 27, 2005 8:13 pm
by OmNi.Eternal
After getting the shell processes working on win32 i still had some issues. I did some searching and found some windows equiv functions for getmxrr and checkdnsrr. Then I copied and renamed the unix function to the windows function and substutited the unix function calls with the new windows functions. Seems to be working great now.

BTW, Thanks for this mod!

Below is the code that i used:

Code: Select all

function wingetmxrr($hostname, &$mxhosts)
{
   $mxhosts = array();
   exec('nslookup -type=mx '.$hostname, $result_arr);
   foreach($result_arr as $line) 
   {
     if (preg_match("/.*mail exchanger = (.*)/", $line, $matches)) 
         $mxhosts[] = $matches[1];
   }
   return( count($mxhosts) > 0 );
}//--End of workaround

function winCheckDNSRR($hostName, $recType = '') 
{ 
 if(!empty($hostName)) { 
   if( $recType == '' ) $recType = "MX"; 
   exec("nslookup -type=$recType $hostName", $result); 
   // check each line to find the one that starts with the host 
   // name. If it exists then the function succeeded. 
   foreach ($result as $line) { 
     if(eregi("^$hostName",$line)) { 
       return true; 
     } 
   } 
   // otherwise there was no mail handler for the domain 
   return false; 
 } 
 return false; 
}


function check_smtp_addr_win($email)
{
  list($username, $domain) = explode('@', $email);

  if (wincheckdnsrr($domain, 'MX'))
  {
    wingetmxrr($domain, $mxhosts);
    $result = probe_smtp_mailbox($email, $mxhosts[0]);

    if ($result['error'] == false)
    {
    	return $result;
    }

    for ($i = 1; $i < count($mxhosts); $i++)
    {
      $result = probe_smtp_mailbox($email, $mxhosts[$i]);
      if ($result['error'] == false)
      {
      	return $result;
      }
    }
    return $result;
  }
  else
  {
  	return (probe_smtp_mailbox($email, $domain));
  }
}

Posted: Tue Sep 27, 2005 10:57 pm
by crossfire39
Thanks for the help and fast reply.

Posted: Wed Sep 28, 2005 12:06 pm
by Wulf_9
Nice one! :D