-
Notifications
You must be signed in to change notification settings - Fork 14
Detecting Accept-All Servers #1
Comments
When would this check be done? |
Yes, if the email is accepted, run the check. Something I didn't think of though is how to mark a domain as non-accept-all so we don't have duplicate checks. This could be accomplished by changing the cache type: var acceptAllCache map[string]bool So in rough pseudocode:
Three tries just to make sure, I guess it could just be one though as the odds are pretty low of it containing the first UUID (or just make it another config variable, where default=1). UUIDs because is't easy to generate with a library |
Gotcha. Well, i think this won't hurt, let's see when i can get the time to implement this. |
I think maybe Go's plugin buildmode would work great for this, as you could have modules for certain accept-all providers. Just drop the DLLs/SOs in a plugin directory and it will use them for the email provider for which they were made. This would cut back on the domain-specific code in the main project. Just have a meta in the plugin like: type Meta struct {
Domains []string // the domains this works for, some providers have multiple domains that point to the same MX.
Version string // Version of the package. This might already be a field in the plugin package? We'll have to wait and see.
} |
Any updates on this ? |
I haven't done much with it, I've been working on a new EVS engine that can also validate Yahoo and other addresses from catch-all domains. I think I'm just going to clean up the code for this project so it's a nice little package for someone who just needs basic validation. |
Any news on the new EVS engine ? |
@extremeshok - Unfortunately nowadays i really am swamped with lots of work so it's pretty hard to allocate any time to this, i am sorry for that. |
@extremeshok - ah, you meant the one @apkrieg mentioned... |
As stated in the README, this project does not include detection for accept-all servers. Here is my solution:
Have something of a cache for accept-all domains, such as:
And detection would be done by creating three random UUIDs and using them as email addresses (eg.
50a90dfc-adb5-45ee-9e70-36b82bbd7c5a@yahoo.com
. If the domain accepts all three UUIDs, it's pretty safe to assume it's an accept-all and the domain can be appended to the cache.The cache would probably make processing large lists much faster because if you have a list that is 50% Yahoo emails, and yahoo.com is an accept-all, the server is only going to check the first Yahoo email on the list and then just return the accept-all signal for the rest of the Yahoo emails.
The text was updated successfully, but these errors were encountered: