when i tried to install it on my local machine, i got this message "Email Verify could not contact the mail host because the server is running on Windows with a version of PHP below 5.3"

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Jaypan’s picture

I've got this message too. I am using windows, but only on a local (wamp) installation. I will be moving to an apache server when the site goes live. But I'm a little worried about the php 5.3 requirement, as I was under the impression that it's not an official release yet. I know my server company doesn't support it, and they support everything!

Can you elaborate on this a little?

doriangray’s picture

Sorry,since i got this error message, I did not install it on my live site, can't provide you with more detailed information; But it seems like a great module, as a lot of registered users of my site can not receive their emails with further instructions simply because they input an invalid email address.

Enzman’s picture

Documentation update:

****************************************************
Drupal 6 Caution
Drupal 6 and PHP 5.3 will not work. If you must run an older version of PHP, please download an appropriate older version of Wampserver. You can find older versions of WAMP5 and WAMPSERVER2 on this page http://sourceforge.net/projects/wampserver/files/ . Just click on WAMP5 or WAMPSERVER2 for the complete file listings.

For example, Wampserver2.0h is running PHP 5.2.9-2 on a Windows Vista machine and Drupal 6 works fine.
****************************************************
Source = http://drupal.org/node/263

Jaypan’s picture

You seem to be misunderstanding the problem. The problem isn't that we are running PHP 5.30 and the module isn't working, the problem is that we are running a lower version of PHP, and getting a message from this module telling us that the module requires PHP 5.30. So there is an obvious problem.

Andy21’s picture

Actual version of Drupal is not fully compatible with PHP 5.3 so you must not use PHP 5.3 with Drupal until Drupal be ready to PHP 5.3.

Then, this module is not usefull at all due it uses PHP 5.3.

I don't understand why the page of module does not say anything about it.

sinasquax’s picture

For the developper of the module, you can add WIN PHP < 5.3 compatibility by using this code : http://www.php.net/manual/fr/function.checkdnsrr.php#82701

It will add the checkdnsrr function for PHP < 5.3

Jaypan’s picture

I'm thinking that the original maintainer has abandoned this module. They have never replied to this thread, and their last commit was in May last year. Other threads also seem to not be being replied to.

Enzman’s picture

Status: Active » Closed (fixed)
Jaypan’s picture

Status: Closed (fixed) » Active

I don't know why you closed it - none of the questions were answered.

Enzman’s picture

Ha. You are another voice in the wilderness. For me the issue has gone away, perhaps with upgrades in Drupal to 6.16? Not sure - I have made another few sites using a dev sites on a remote server with no repeat of this issue. Great thing is that it makes 'flicking the switch' a lot easier as it is already on the site and has been tested.

Jaypan’s picture

Edit: Problem solved. PHP 5.3 is required for windows servers. It works fine on apache servers with php 5.2.X

dbr’s picture

Title: Email Verify requires the server of a version of PHP 5.3? » Email Verify requires the server of a version of PHP 5.3 on Windows?
Assigned: Unassigned » dbr

Sorry for the delay. I committed code to work around this limitation on windows servers. I will be released automatically on the 6.x-1.x-dev version during the day (check the date before downloading). Thanks for testing, as i'm not working on windows servers so cannot test myself.

dbr’s picture

Status: Active » Needs review
Enzman’s picture

Aha! All is explained... thanks for your help Jay and dbr.

joelbox-Mondial-IT’s picture

But unfortunately the issue is not fixed.

Running Apache on Windows 7, and php 5.2 generates the error message. The dependency is in functions specific for the 5.3. There is some pear alternatives I understand, but that goes beyond my current skills. If anyone with pear skills could have a look at it perhaps?

NancyDru’s picture

FileSize
956 bytes

Yes, I'd love a fix too. My test sites are on Windoze. My live sites are Linux, so they should be okay.

As a side note, here is a little patch that stops a message for every user (when you have over 1,000 it's a pain).

ClearXS’s picture

Bluehost account.
.../?q=admin/build/modules/list/confirm
// Definitions for missing functions in Windows (bah) // See: http://drupal.org/node/508004 // http://www.php.net/manual/fr/function.getmxrr.php#88033 // getmxrr() support for Windows by HM2K function win_getmxrr($hostname, &$mxhosts, &$mxweight=false) { if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') return; if (!is_array ($mxhosts) ) $mxhosts = array(); if (empty($hostname)) return; $exec='nslookup -type=MX '.escapeshellarg($hostname); @exec($exec, $output); if (empty($output)) return; $i=-1; foreach ($output as $line) { $i++; if (preg_match("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.+)$/i", $line, $parts)) { $mxweight[$i] = trim($parts[1]); $mxhosts[$i] = trim($parts[2]); } if (preg_match('/responsible mail addr = (.+)$/i', $line, $parts)) { $mxweight[$i] = $i; $mxhosts[$i] = trim($parts[1]); } } return ($i!=-1); } // Define if (!function_exists('getmxrr')) { function getmxrr($hostname, &$mxhosts, &$mxweight=false) { return win_getmxrr($hostname, $mxhosts, $mxweight); } } // http://www.php.net/manual/fr/function.checkdnsrr.php#82701 if(!function_exists('checkdnsrr')){ function checkdnsrr($host, $type=''){ if(!empty($host)){ $type = (empty($type)) ? 'MX' : $type; exec('nslookup -type='.$type.' '.escapeshellcmd($host), $result); $it = new ArrayIterator($result); foreach(new RegexIterator($it, '~^'.$host.'~', RegexIterator::GET_MATCH) as $result){ if($result){ return true; } } } return false; } }

Unvinked email verify

=> OK, no more this error on confirming vinking modules

NancyDru’s picture

@dbr: I did a CVS checkout, so I should have what's in -dev. It does not work on Windoze for me.

@ClearXSClearXS: It would help readability if you could actually use line ending characters.

DrewMathers’s picture

FileSize
389 bytes

Here is a patch for the bug from #17.

windows_compat.inc is missing:

<? php

?>



The patch is in the new -p1 format

DrewMathers’s picture

FileSize
269 bytes

Sorry, that should have been "<?php" not "<? php" and the "?>" at the end is not necessary.


The patch is against -dev and in the new -p1 format

beto_beto’s picture

hello

when someone enter his mail on newsletter this error appear for him

The email address you supplied is not valid

and

Definitions for missing functions in Windows (bah) // See: http://drupal.org/node/508004 // http://www.php.net/manual/fr/function.getmxrr.php#88033 // getmxrr() support for Windows by HM2K function win_getmxrr($hostname, &$mxhosts, &$mxweight=false) { if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') return; if (!is_array ($mxhosts) ) $mxhosts = array(); if (empty($hostname)) return; $exec='nslookup -type=MX '.escapeshellarg($hostname); @exec($exec, $output); if (empty($output)) return; $i=-1; foreach ($output as $line) { $i++; if (preg_match("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.+)$/i", $line, $parts)) { $mxweight[$i] = trim($parts[1]); $mxhosts[$i] = trim($parts[2]); } if (preg_match('/responsible mail addr = (.+)$/i', $line, $parts)) { $mxweight[$i] = $i; $mxhosts[$i] = trim($parts[1]); } } return ($i!=-1); } // Define if (!function_exists('getmxrr')) { function getmxrr($hostname, &$mxhosts, &$mxweight=false) { return win_getmxrr($hostname, $mxhosts, $mxweight); } } // http://www.php.net/manual/fr/function.checkdnsrr.php#82701 if(!function_exists('checkdnsrr')){ function checkdnsrr($host, $type=''){ if(!empty($host)){ $type = (empty($type)) ? 'MX' : $type; exec('nslookup -type='.$type.' '.escapeshellcmd($host), $result); $it = new ArrayIterator($result); foreach(new RegexIterator($it, '~^'.$host.'~', RegexIterator::GET_MATCH) as $result){ if($result){ return true; } } } return false;

and i am using D6 with windows PHP support (Version 5.3.21) .

can you please help me ?

DrewMathers’s picture

@beto_beto

It looks like the problem from comment #17. Try the patch from comment #20. I believe one the -dev snapshot has this problem. You could use version 1.2 instead, but that will not run on shared hosting.

beto_beto’s picture

oadaeh’s picture

Assigned: dbr » Unassigned
Issue summary: View changes
Status: Needs review » Closed (won't fix)

Due to Drupal 6's EOL, I am closing this with "won't fix." If you feel this is still valid for any of the 7.x branches, feel free to re-open and update this issue.