Skip to content

Implement Robust Disposable Email Address Validation #433

@relandboyle

Description

@relandboyle

Acceptance Criteria

  • In authSchema.ts - currently there is a Zod validator to ensure a valid email address is entered when creating a new account.
  • The validator checks the email domain against a list of three known disposable domains.
  • Upgrade this behavior to use an library which checks against a maintained library of disposable or otherwise undesirable domains.

via ChatGPT:

Here are some popular NPM packages you can use to identify suspicious or blacklisted domains for purposes like preventing them from being used to create accounts:

1. **email-verifier**  
   This package verifies email addresses and checks for disposable email providers, blacklisted domains, or invalid addresses.
   - [GitHub Repository](https://github.com/AfterShip/email-verifier)
   - Install: `npm install email-verifier`

2. **email-domain-validator**  
   A package that checks if the domain of an email address is a free or disposable email provider. It's useful for filtering blacklisted or suspicious domains.
   - Install: `npm install email-domain-validator`

3. **validate-email-domain**  
   Validates if an email’s domain is blacklisted or belongs to known disposable email providers.
   - [GitHub Repository](https://github.com/apideck-libraries/validate-email-domain)
   - Install: `npm install validate-email-domain`

4. **is-disposable-email**  
   This package checks whether an email is disposable or from a throwaway email provider, using a frequently updated list.
   - [GitHub Repository](https://github.com/ivolo/disposable-email-domains)
   - Install: `npm install is-disposable-email`

5. **blacklist-checker**  
   A package that checks if a domain or IP address is blacklisted on popular blacklists like Spamhaus or Barracuda.
   - Install: `npm install blacklist-checker`

6. **spam-email-checker**  
   This package checks whether an email address is from a free provider, disposable, or a blacklisted domain.
   - Install: `npm install spam-email-checker`

7. **block-disposable-email**  
   Another NPM package that helps to block disposable or temporary email domains.
   - Install: `npm install block-disposable-email`

These packages can help you create checks to prevent accounts from being created with suspicious or blacklisted email domains.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions