Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
There are some servers using 450 error code for greylisting:
Resolving host name "xxxx"...
Connecting to host address "xxxx"...
Connected.
S 220 xxxx ESMTP Postfix
C HELO xxxx
S 250 xxxx
C MAIL FROM:
S 250 Ok
C RCPT TO:
S 450 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/xxxx.html
This host states that the address is undetermined.
Disconnected.
I think this one is using postfix with postgrey.. It would be better to match "Greylist", not the code itself.
Comments
Comment #1
StevenPatzComment #2
jozef.benicky CreditAttribution: jozef.benicky commentedthis is in the source code:
// Any 4xx error also means we couldn't really check^
// except 450, which is explcitely a non-existing mailbox:^
// 450 = "Requested mail action not taken: mailbox unavailable"^
ereg("^4", $to) && !ereg("^450", $to)) {^
but this isn't right, it should be like this:
450 Requested mail action not taken: mailbox unavailable (e.g., mailbox busy)
550 Requested action not taken: mailbox unavailable (e.g., mailbox not found, no access, or command rejected for policy reasons)
Comment #3
Rainman CreditAttribution: Rainman commentedI did a quick google on the SMTP codes, here is a handy reference:
http://email.about.com/cs/standards/a/smtp_error_code_2.htm
(from the first page of that link) the first number: 4: The server has encountered a temporary failure. If the command is repeated without any change, it might be completed. Mail servers can use such temporary failures to keep untrusted senders at bay.
5: The server has encountered an error.
So actually both 450 and 550 are valid codes, the difference is that 450 is "temporary". I would say it is probably safe overall to allow 450 codes, especially since the known greylisting issue. although I still like the idea of checking for the "greylist" keyword along with 450 to be sure that was the issue.
Ahh. had to read again what was posted, that appears correct. basically if the server is inviting you to try again later, well email verify should take that as a good response. ok now I am in favor of just removing that whole 450 part.
Comment #4
tobias CreditAttribution: tobias commentedHi Rainman - I just was facing this issue myself with a user on my site. What do you recommend I change in the module - or has this been fixed in a dev version?
Thanks,
Tobias
Comment #5
Rainman CreditAttribution: Rainman commentedWow, thanks for reminding me, I had made a change and forgot to document.. appearently it works because I haven't thought of it since :)
Here is what I did, in email_verify.inc.php changed line 96 to remove the 450 code part
96c96
Not saying this is necessarily correct, just what I did which resolved the issue for me.
Comment #6
tobias CreditAttribution: tobias commentedthanks rainman! I'l try this out.
-T
Comment #7
Victor Safronov CreditAttribution: Victor Safronov commentedGot the same. The entry in watchdog:
Rejected email address: xxx@xxx.xxx.ru. Reason: 450 4.7.1 : Recipient address rejected: Greylisted for 60 second
Comment #8
Victor Safronov CreditAttribution: Victor Safronov commentedComment #9
yonailo CreditAttribution: yonailo commented+1 subscribing.
Comment #10
oadaeh CreditAttribution: oadaeh at Hook 42 commentedDue 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.