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

check (also) for email providers to determine if valid email is /not/ a company address #508

Open
clysss opened this issue Jan 13, 2025 · 9 comments

Comments

@clysss
Copy link

clysss commented Jan 13, 2025

Hello,
https://gist.github.com/ammarshah/f5c2624d767f91a7cbdc4e54db8dd0bf
maintain a list of email providers (free, paid...)

could we add a second validation like
isFromProvider (if isValid) to check if the email is (not) a company address

The interest to implement it on mailchecker is that no more tools will be needed
Of course, if you seems that this idea is interesting, I can create a PR

@YasharF
Copy link
Contributor

YasharF commented Jan 16, 2025

Can you expand on the use case?

@clysss
Copy link
Author

clysss commented Jan 16, 2025 via email

@harshit-budhraja
Copy link

@clysss here's a simple free tool that compares different publicly available blocklists (including this one): https://unfake.dev/compare-blocklists

@clysss
Copy link
Author

clysss commented Feb 3, 2025 via email

@clysss
Copy link
Author

clysss commented Mar 5, 2025

Can you expand on the use case?

@YasharF : an opinion ?

@YasharF
Copy link
Contributor

YasharF commented Mar 5, 2025

Just my personal opinion, but I feel like it is hard to define what is considered a professional email address. At the same time, the list of known major/popular free email providers is fairly small if you want to implement your own blacklist which you can expand on if you run into more bad actors. Who knows you may end up creating your own opensource package that is the list of such providers to share. Another suggestion that I have in terms of your use case is to request submitters to provide their LinkedIn link, which you can use to weed out bogus submissions. By the way in terms of your use case you may also have end customers that may not want to use their professional email when initially requesting information. For example, in one of my prior roles I didn't want my work email to get spam so I always used my yahoo email address for the initial contact and would leave it to yahoo to deal with the potential spam. Later on, if I felt that the provider was someone that I could have put in front of others at work, then I would pass my work-related info or would email them from my work info to continue there.

@clysss
Copy link
Author

clysss commented Mar 5, 2025 via email

@YasharF
Copy link
Contributor

YasharF commented Mar 5, 2025

What I don't really have seen in this repo is how you maintain the list.

The list that this package uses is in list.txt
It is updated as part of the package, with PRs like these: #514 , #513 , #520 , #521

list.txt gets loaded from the file here: lib/loader.js#L13 and the lib/generator.js uses to create the code for each target package using templates under platform

If you are using nodejs, you can use something like patch-package to just patch the npm module to add a few more entries that are specific to your use case. I am guessing your patch would be something like:

var blacklist = new Set(["0-00.usa.cc", "0-30-24.com", "0-attorney.com", ...]) // existing line in the module
// new lines to add:
const blacklistExpansion = new Set(["gmail.com", "yahoo.com", ...])
blacklist = new Set([...blacklist, ...blacklistExpansion])

@clysss
Copy link
Author

clysss commented Mar 5, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants