Giter VIP home page Giter VIP logo

verify-emails's Introduction

NAME
    verify-emails.pl - Check the list of emails for valid addresses

USAGE
            ./verify-emails.pl [OPTIONS]
            
DEPENDENCIES

    On Ubuntu/Debian install: 
    $ sudo apt install libmail-checkuser-perl libparallel-forkmanager-perl

OPTIONS
    --emails (required)
        Example: --emails=emails.txt

        The file should be a plain text file with one email address per
        line. It's OK for the file to contain duplicate addresses - all
        checks will be performed only once for each unique email address.

    --children (optional)
        Example: --children=10

        This parameter can be used to specify the number of maximum parallel
        child processes. If not given, the default of 20 is used.

    --from_email (optional)
        Example: [email protected]

        This parameter can be used to specify the FROM email address for
        SMTP checks. If not given, the default of [email protected] is used.

    --from_domain (optional)
        Example: --from_domain=here.com

        This parameter can be used to specify the EHLO domain for SMTP
        checks. If not given, the domain of the from_email option is used.

    --blacklist (optional)
        Example: --blacklist=blacklist.txt

        The file should be a plain text file with blacklisted strings or
        regular expressions for email addresses. Any address matching any of
        the rules will be skipped from all the checks. This is useful for
        filtering out group email addresses like sales@ or info@, as well as
        spam words in domains or local parts.

    --output (optional)
        Example: --output="%email% - %status% - %reason%\n"

        This parameter defines the script's output. You can use three macros
        that will be replaced with content automatically:

        * %email% - this will be replaced with the email address that is
        being checked

        * %status% - this will be either OK or FAIL, depending on whether
        email address passed the check

        * %reason% - for failed addresses this will provide a reason why
        validation failed

        By default, the format is set to a simple CSV

EXAMPLE
            ./verify-emails.pl --emails=emails.txt --children=10 --blacklist=blacklist.txt > out.csv

DESCRIPTION
    verify-emails.pl performs the following three checks for each email in
    the given list:

            1. Check the format of the email address.
            2. Check that MX or A record is available for the domain part.
            3. Connect to the mail server via SMTP and use MAIL and RCPT commands
               to check if the mailbox exists.  No actual email is being sent.

    In order to speed up the processing of emails, the script will fork
    multiple child processes. The maximum can be defined through the command
    line option.

REQUIREMENTS
    This script relies on the following perl modules (available from CPAN):

    Getopt::Long
        For reading command line parameters reliably.

    List::MoreUtils
        For removing duplicates in the lists of emails and blacklist rules.

    Parallel::ForkManager
        For easy forking.

    Mail::CheckUser
        For the actual email address checks.

AUTHOR
    Leonid Mamchenkov <[email protected]>

verify-emails's People

Contributors

mamchenkov avatar sjpbeale avatar mikhailnov avatar

Watchers

James Cloos avatar FilipS avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.