A Python script to find valid email addresses from first name, last name and domain.
Given first name
, last name
and domain name
the program:
-
Creates list of 20 possible formats given name and domain
-
Verifies whether email addresses exist
-
Returns valid addresses
-
dns.resolver
(DNS toolkit)pip install dnspython
-
Pyperclip
(clipboard functions)pip install pyperclip
python3 email-finder [first name] [last name] [domain]
Alternatively, if arguments are missing, the script will request user input.
The script will detect and handle basic errors:
1. Domain not found on DNS query
2. No answer for DNS query
3. SMTP Server disconnection
The program tends to not work / return false positives for personal emails, probably due to filters / catch-all addresses.
This program can be improved with additional features:
1. Stronger email verification
Email verification using existing modules such as validate_email
or APIs such as those of Mailgun
or MailboxValidator
.
2. Generic emails
If no valid email address is returned, generic email addresses (e.g. info@domain) will be checked.
3. Optional middle name
Add possibility to input middle name and support additional email formats.
4. Bulk finder
Find multiple addresses at once from a given file.
5. SMTP response
Add more allowed responses than the standard 250 success code.
6. Search engine check
Run a second verification to check whether the email address(es) found has been indexed by a search engine.