-1

I am writing a tool for osint in python 3 that has the purpose of finding people's emails.

The program works on 3 levels based on the complexity of the emails to be found, 70% of the emails I have collected are identifiable in the first level that takes into account the name, surname, year of birth and instagram profile.

The program uses the instagram profile to obtain the obfuscated email to obtain the domain es. @gmial.com and uses the other information to generate a list of possible emails.

The problem is when there is a need to validate the emails, obviously a list of 20 emails is quite useless, at least by eliminating those that do not exist you get a good screening, the validation is done through the validate_email module using the method

is_valid = validate_email('[email protected]',verify=True)

worked well but took about 3 seconds to return a response, so I decided to speed it up by testing the emails in multi thread using concurrent.futures, at this point with my 20 threads at the same time everything was going wonderfully until validate_email started returning "none".

I'm doing some research on the library this happens when the server refuses to give a response, I assume that my ip was blocked by gmail dos protection or something like that, because initially everything worked.

I have not tried to use a vpn yet also because I would not know how to do it. How can I solve this problem? for level 1 the emails to test are just 20/30 but on level 2 the emails increase up to 500/700.

I could obviously impose a limit of requests per minute on the program to avoid being blocked but I would solve the problem temporarily and I don't know what is the limit of requests that google is willing to tolerate before starting to ignore me.

Does anyone have an idea of ​​how much this limit could be? would a vpn solve the problem? Are there libraries less old than validate_email that I can use? It is a library that is almost 12 years old and does not wear them very well.

I have already tried to search on the library github but I have not found anything except another person who like me hypothesizes that it is an ip block. To verify I tried again by changing the connection of my device and I verified that both the private and public ip had changed and it worked. It would be nice if I could change the public ip for each thread but I do not think it is possible.

1 Answer 1

-1

You try to check many emails fast but Google blocks you, this happens because you send too many requests in a short time.

Solutions

  1. Slow Down (Rate Limit): wait between checking each email, time.sleep(1);
  2. Use Proxies or TOR: This will help you change your IP on every request.
  3. Use email check service. (Hunter.io, ZeroBounce, and NeverBounce offer APIs for bulk email validation)
Sign up to request clarification or add additional context in comments.

1 Comment

How do these services perform bulk verification? Are they in some sort of Google whitelist, do they use proxies or do they have an alternative method to SMTP? I would like to avoid relying directly on these services to keep the program free and open source

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.