Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting a 450 Request error [7.2] #13

Open
mrAddy opened this issue Jan 30, 2015 · 21 comments
Open

Getting a 450 Request error [7.2] #13

mrAddy opened this issue Jan 30, 2015 · 21 comments
Labels

Comments

@mrAddy
Copy link

mrAddy commented Jan 30, 2015

I have the following result:


MX records (omprompt.com): Array
(
[cluster8.eu.messagelabs.com] => 10
[cluster8a.eu.messagelabs.com] => 50
[omprompt.com] => 0
)


Connecting to cluster8.eu.messagelabs.com:25


Connected to cluster8.eu.messagelabs.com:25 successfully


<<<recv: 
{"name@omprompt.com":false,"domains":{"omprompt.com":{"users":["name"],"mxs":{"cluster8.eu.messagelabs.com":10,"cluster8a.eu.messagelabs.com":50,"omprompt.com":0}}}}

Closing socket to cluster8.eu.messagelabs.com:25

This shows me it found two servers, but only connected to one of them. Is that what you see too ?

@mrAddy
Copy link
Author

mrAddy commented Jan 30, 2015

Seems i am getting a 450 Request error [7.2]. But the email I am testing works on:

http://www.mailboxvalidator.com/

So not sure why it will not work, any ideas ?

@zytzagoo
Copy link
Owner

Since you have provided zero real info, I'm guessing you're getting blocked/ignored by the other side due to a certain level of spamminess. And/or bad behavior.

It could be a lot of things:

  • too many requests from your ip to them within a certain time frame
  • you're on a known bad ip range
  • you triggered some other kind of their (custom?) spam/bot detection rules
  • ...

When I run this test code from my machine:

<?php

require('smtp-validate-email.php');

$from = 'a-happy-camper@campspot.net'; // for SMTP FROM:<> command
$email = 'name@omprompt.com';

$validator = new SMTP_Validate_Email($email, $from);
$validator->debug = true;
$smtp_results = $validator->validate();

print "\n";
var_dump($smtp_results);

I get this output:

> php test-name-at-omprompt.php

MX records (omprompt.com): Array
(
    [cluster8.eu.messagelabs.com] => 10
    [cluster8a.eu.messagelabs.com] => 50
    [omprompt.com] => 0
)

Connecting to cluster8.eu.messagelabs.com:25
Connected to cluster8.eu.messagelabs.com:25 successfully
<<<recv: 220 server-12.tower-39.messagelabs.com ESMTP

send>>>: EHLO campspot.net
<<<recv: 250-server-12.tower-39.messagelabs.com

<<<recv: 250-STARTTLS

<<<recv: 250-PIPELINING

<<<recv: 250 8BITMIME

send>>>: MAIL FROM:<a-happy-camper@campspot.net>
<<<recv: 250 OK

send>>>: NOOP
<<<recv: 250 ok

send>>>: NOOP
<<<recv: 250 ok

send>>>: RCPT TO:<name@omprompt.com>
<<<recv: 550 Invalid recipient <name@omprompt.com> (#5.1.1)

Unexpected response to RCPT TO: 550 Invalid recipient <name@omprompt.com> (#5.1.1)

send>>>: NOOP
<<<recv: 250 ok

send>>>: RSET
<<<recv: 250 flushed

send>>>: QUIT
<<<recv: 221 Closing connection. Good bye.

Closing socket to cluster8.eu.messagelabs.com:25

array(2) {
  ["name@omprompt.com"]=>
  bool(false)
  ["domains"]=>
  array(1) {
    ["omprompt.com"]=>
    array(2) {
      ["users"]=>
      array(1) {
        [0]=>
        string(4) "name"
      }
      ["mxs"]=>
      array(3) {
        ["cluster8.eu.messagelabs.com"]=>
        int(10)
        ["cluster8a.eu.messagelabs.com"]=>
        int(50)
        ["omprompt.com"]=>
        int(0)
      }
    }
  }
}

Which seems "correct" (i.e., name@oprompt.com => false means that the address does not exist)

@zytzagoo zytzagoo changed the title Connecting to two or more servers Getting a 450 Request error [7.2] Jan 30, 2015
@zytzagoo
Copy link
Owner

P.S., I changed the title to be more relevant and not confuse any future readers/users.

@zytzagoo zytzagoo added the FAQ label Jan 30, 2015
@mrAddy
Copy link
Author

mrAddy commented Jan 30, 2015

The email [redacted]

It is a real email, as it works on http://www.mailboxvalidator.com/, but not when using this code. I have a test up at www.uswalkers.com/ken/

@mrAddy
Copy link
Author

mrAddy commented Jan 30, 2015

Just as an update. mailboxvalidator.com is not perfect, so perhaps not the best comparison. If you use email [redacted], which is real, on mailboxvailator, it says its real. If you remove the e, so its just [redacted], which is not real, it says its a real email.

So a little more confusing ?

@zytzagoo
Copy link
Owner

>php test-name-at-omprompt.php

MX records (omprompt.com): Array
(
    [cluster8.eu.messagelabs.com] => 10
    [cluster8a.eu.messagelabs.com] => 50
    [omprompt.com] => 0
)

Connecting to cluster8.eu.messagelabs.com:25
Connected to cluster8.eu.messagelabs.com:25 successfully
<<<recv: 220 server-14.tower-39.messagelabs.com ESMTP

send>>>: EHLO campspot.net
<<<recv: 250-server-14.tower-39.messagelabs.com

<<<recv: 250-STARTTLS

<<<recv: 250-PIPELINING

<<<recv: 250 8BITMIME

send>>>: MAIL FROM:<a-happy-camper@campspot.net>
<<<recv: 250 OK

send>>>: NOOP
<<<recv: 250 ok

send>>>: NOOP
<<<recv: 250 ok

send>>>: RCPT TO:<[redacted]>
<<<recv: 250 OK

send>>>: NOOP
<<<recv: 250 ok

send>>>: RSET
<<<recv: 250 flushed

send>>>: QUIT
<<<recv: 221 Closing connection. Good bye.

Closing socket to cluster8.eu.messagelabs.com:25
array(2) {
  ["[redacted]"]=>
  bool(true)
  ["domains"]=>
  array(1) {
    ["omprompt.com"]=>
    array(2) {
      ["users"]=>
      array(1) {
        [0]=>
        string(8) "redacted"
      }
      ["mxs"]=>
      array(3) {
        ["cluster8.eu.messagelabs.com"]=>
        int(10)
        ["cluster8a.eu.messagelabs.com"]=>
        int(50)
        ["omprompt.com"]=>
        int(0)
      }
    }
  }
}

Works just fine from here...

The other thing (missing last letter) could simply be that messagelabs handles/allows common errors/misspellings and routes them appropriately... not really that strange?

@mrAddy
Copy link
Author

mrAddy commented Jan 30, 2015

Okay, possible. I have tried a few. But I cannot get [redacted] to work. I am using Safari, and not getting out like you are.


MX records (omprompt.com): Array ( [cluster8.eu.messagelabs.com] => 10 [cluster8a.eu.messagelabs.com] => 50 [omprompt.com] => 0 ) 

Connecting to cluster8.eu.messagelabs.com:25

Connected to cluster8.eu.messagelabs.com:25 successfully

<<<recv: 450 Requested action aborted [7.2] 18002, please visit www.messagelabs.com/support for more details about this error message.

Unexpected response after connecting: 450 Requested action aborted [7.2] 18002, please visit www.messagelabs.com/support for more details about this error message.

Closing socket to cluster8.eu.messagelabs.com:25
{"[redacted]":false,"domains":{"omprompt.com":{"users":["redacted"],"mxs":{"cluster8.eu.messagelabs.com":10,"cluster8a.eu.messagelabs.com":50,"omprompt.com":0}}}}

So my host must be blocked, IP or reverse IP on messagelabs.com Could this be possible ?

Thank you for your help also.

@zytzagoo
Copy link
Owner

Browser has nothing to do with it.

Yes, the most probable reason for your issues is that the server you're running this script from is blocked/blacklisted. Could be only a temporary ban if you're lucky.

P.S.
I have no knowledge of mailboxvalidator.com and their "under the hood" setup, so I really can't say why you/they get different results for the misspelled address. (I just tried "without last 'e'" and it works as expected (says the address doesn't exist))

@zytzagoo
Copy link
Owner

Changed addresses to [redacted] to protect the innocent :)

@mrAddy
Copy link
Author

mrAddy commented Jan 30, 2015

Okay, thank you again for your help in this, I do appreciate it. Script works really well :)

@zytzagoo
Copy link
Owner

np, glad you found it useful!

@ct197475
Copy link

Hi zytzagoo,

I have little knowledge of coding but would like to use your great tool;
I have a big list to check and of course no money to use the paid services.

Could you guide me in the set up?
Thanks a lot,
Chris

@zytzagoo
Copy link
Owner

@ct197475 How "big" is "big"? :) I guess you'll have to go slow... You can't have it all (speed && quality && free).

Split/segment your list into manageable chunks, making sure to pause for at least a few seconds between checking each email/domain (ideally more/longer). And then have it run for days/weeks (even months, depending on list/chunk sizes) -- ideally, you'll run your checks from different servers for different chunks/domains.

HTH.

@ct197475
Copy link

Hi HTH,

Thanks a lot for your quick reply; that really cool.
Big as a sweet 500K.
So how big should be the chunks according to you?

This is what I tried for the moment.

Should I touch these lines?
// default username of sender
private $from_user = 'user';
// default host of sender
private $from_domain = 'localhost';

And how can I program that?

making sure to pause for at least a few seconds between checking each email/domain (ideally more/longer). And then have it run for days/weeks (even months, depending on list/chunk sizes)

Sorry for my newbeness ;-)
Thanks a lot for your advice,

Best

CTC

@zytzagoo
Copy link
Owner

I'd start by grouping them according to the domains, then further split each domain-group based on how many accounts per domain there turns out to be.

Then I'd start validating up to 10 emails per batch/run, pausing a few seconds between each one, while making sure the server doesn't get blacklisted by setting it up properly etc. If that goes well, then you can start thinking about doing several of those in parallel across different servers (or something to that effect). Or, potentially, slightly increasing the amount of emails per batch. But once a server blocks/blacklists you, it's game over for that IP (and cleaning that up is waaay over your head probably).

But, anyway, based on your other questions, it would appear that what you're trying to do is more than you can handle (and it certainly has nothing to do with the originally reported issue).

Perhaps you should try asking for help on certain other forums/communities and/or hire a freelancer to build what you need.

@asifali1
Copy link

asifali1 commented Apr 3, 2015

i am using your class to add bulk email validation , the problem it validates 4-5 emails . and then gives this error .

Connect failed: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

can you plz help me whats the problem i also tried by setting timelimit to 0.butt it doesnt work .any help wil be highly apreciated

@zytzagoo
Copy link
Owner

zytzagoo commented Apr 3, 2015

The other side is blocking you. See past issues.
Or at least try to provide more info (turning on debug mode would be a good start).

But don't expect free mass/bulk validation without significant effort on your part.

@asifali1
Copy link

asifali1 commented Apr 8, 2015

can you please help me doiing bulk validation ?

 On Friday, April 3, 2015 11:24 PM, zytzagoo <notifications@github.com> wrote:

The other side is blocking you. See past issues.
Or at least try to provide more info (turn on debug for start).But don't expect free mass/bulk validation without significant effort on your part.—
Reply to this email directly or view it on GitHub.

@zytzagoo
Copy link
Owner

zytzagoo commented Apr 8, 2015

No, sorry, I don't have the time.

@zytzagoo
Copy link
Owner

zytzagoo commented Apr 8, 2015

I really cannot help you since I cannot manage your infrastructure for you.
If you need to cycle IPs, you have to somehow handle that yourself, it has
nothing to do with this code or PHP at all.

And cycling IPs will not help you either (you will end up being banned
sooner or later), please read previous issues (and my detailed replies) on
previous questions which are all similar in nature:
#3
#8
#5

Doing bulk validation is a business and it requires skill and knowledge of
server administration and infrastructure/operations management + time +
money.

Good luck!

On Wed, Apr 8, 2015 at 2:42 PM, asifali1 notifications@github.com wrote:

Sir ,thank you for responding.i wish if you can assist me a little bit i
can complete this project under your name . i will give 100% credit to you
because this is all your work i am just reusing it. hope so you will assist
me a little bit. i am having problem in alllocating different ip's so that
after 100 email validation it can change ip address and we can remain
minimum ban . It is requested to plz assist me sir :) thank you

On Wednesday, April 8, 2015 5:01 PM, zytzagoo notifications@github.com
wrote:

No, sorry, I don't have the time.—
Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#13 (comment)
.

@asifali1
Copy link

Thanks Zogoto i have done it myself by following your precious comments ,
Actually after connecting to host for mx-record ,i just quit that connecttion and started another connection using my own smtp details . i want to know can we optimize it for persistent connections.?
because every time we are connecting to our smtp settings and its of no use and will save our time .
i will be highly thankfull for your guidlines ,thank you so much.

Repository owner deleted a comment from gbolivar Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants