smtp-verify could be used to test if mail can be delivered to recipients.
It uses MAIL FROM and RCPT TO commands to test if recipients exist.
Additional checks available are:
If a message size is give and the server supports the SIZE extension it will check if the server will accept the size of the message.
It will check if the STARTTLS extension is available.
It will check a TLSA for the MX has been published.
This also requires that your resolver sets the 'ad' flag.
It will check a OPENPGPKEY for the recipient address has been published.
If the server provides the PIPELINING extension smtp-verify will send RCPT commands in bulks.
usage: smtp-verify [-?bdfHhjnpsst] [long options...] -h -? --usage --help Prints this usage information. -n STR --helo_name STR name to use in EHLO -H --host query this host instead of MX -p INT --port INT port to use (default 25) -t INT --timeout INT smtp timeout (default 30s) -a --tlsa lookup if TLSA record is available -o --openpgpkey lookup if OPENPGPKEY records are available -d --debug print debug info to STDERR -b INT --rcpt_bulk_size INT how many RCPTs to send in one bulk when PIPELINING (default 10) -f STR --from STR address to use in MAIL FROM -s INT --size INT how many RCPTs to send in one bulk when PIPELINING (default 10) -j --json output JSON
Perl class interface Net::SMTP::Verify
To install Net::SMTP::Verify, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::SMTP::Verify
CPAN shell
perl -MCPAN -e shell install Net::SMTP::Verify
For more information on module installation, please visit the detailed CPAN module installation guide.