module just checks for 250 return code, what if host returns 421?

dgsiegel - March 4, 2008 - 13:19
Project:Email Verification
Version:5.x-2.0
Component:Code
Category:bug report
Priority:normal
Assigned:dbr
Status:closed
Description

many hosts, like yahoo or other mail hosts do not return a 250 code.

yahoo:
Could not verify email address at host yahoo.com: 421 Message from (my ip address) temporarily deferred - 4.16.50. Please refer to http://help.yahoo.com/help/us/mail/defer/defer-06.html

other:
Could not verify email address at host somehost: 421 Too much load; please try again later.

therefore many users cant registrate, as their mail isnt listed as valid. in my opinion, if a host returns 421 the mail should be listed as valid

therefore, please change
(line 115)
if (!ereg ("^250", $from)) {
to
if (!ereg ("^250", $from) && !ereg ("^421", $from)) {

and (line 129)
if (!ereg ("^250", $to )) {
to
if (!ereg ("^250", $to ) && !ereg ("^421", $to )) {

thanks!

#1

Gábor Mayer - March 10, 2008 - 12:29

if (ereg ("^5"

#2

escoles - February 21, 2009 - 16:42

Couldn't get this fix to work for gmail.com or mac.com.

Unfortunately, in my case, only the non-critical failures are being logged in Watchdog. Critical failures (email address can't be accepted) are not being recorded. So I can't contribute anything to the reasons for failure -- this fix might work perfectly well for others.

#3

dbr - March 19, 2009 - 22:48
Assigned to:Anonymous» dbr
Status:active» needs review

Sorry for the long delay. I guess you were at least able to fix the code locally for yourself.

I don't think change to the FIRST comparison to 250 (in $from) is needed, since at this stage, 421 would lead to assuming we cannot test it, and accept it. Actually your watchlog message shows this is what happened, and the email must have been accepted. Am I missing something there?

However you are right about the test of $to, where we might actually reject the email. I changed the code so that doesn't happen with any 4xx code except 450 (mailbox unavailable).

The code is commited to the drupal 6 branch (port to drupal 5 should be straightforward if you need it), and the 6.x-1.x-dev release with it will appear in the next 12 hours. I actually cannot test it, not having access at the moment to a host allowing outbound port 25 connections (more and more common for home users). So review and testing are welcome.

#4

dbr - April 27, 2009 - 14:12

This change is now present in the 6.x-1.1 release.

#5

dbr - April 27, 2009 - 14:13
Status:needs review» fixed

#6

dgsiegel - April 27, 2009 - 14:15

how about 5.x?

#7

System Message - May 11, 2009 - 14:20
Status:fixed» closed

Automatically closed -- issue fixed for 2 weeks with no activity.

 
 

Drupal is a registered trademark of Dries Buytaert.