bionic (1) vrfy.1.gz

Provided by: vrfy_990522-10_amd64 bug

NAME

       vrfy - Verify electronic mail addresses

SYNTAX

       vrfy [options] [-v] address [host]
       vrfy [options] [-v] -f [file] [host]
       vrfy [options] [-v] -p domain
       vrfy [options] [-v] -T domain [name]

DESCRIPTION

       vrfy  is  a  tool  to verify electronic mail addresses.  The only required parameter is the address to be
       verified.  The actual verification will be carried out at the remote machine  where  mail  to  the  given
       address  would  normally  be  delivered.   This may be a mail exchange host and not the final destination
       host.  If an explicit host is given as the second argument on the command line, the specified address  is
       verified at that machine.

       The  output  of  the program shows whether or not the address can be handled at the contacted host. Error
       messages will be printed if the address is invalid. If the address is recognized, the  output  shows  the
       remote  host's  notion  of the (possibly translated) address. If it represents a local user at that host,
       additional information about the user may be displayed.

       Note that if the address is accepted by the contacted host, but this is not the final  destination  host,
       one still cannot be sure that the address represents a valid recipient.

       It is a handy tool to verify local mail addresses.
       If  you have set up a .forward file, you can verify your own address to check that the forwarding is done
       properly.
       If you specify an arbitrary name, you can check whether this resolves to any valid recipients.

SPECIAL OPERATION MODES

       Some flags put the program in a special operation mode.

   FILE MODE
       If the -f option is specified, the program enters a special file mode. The (optional)  parameter  is  the
       name of a file containing electronic mail addresses, such as used for mailing lists.  Verification of all
       addresses present in the file is attempted.  If no filename is specified, vrfy acts as a filter  and  the
       addresses to be verified are read from standard input.

   PING MODE
       If  the  -p  option  is  specified,  the program enters a special ping mode. The required parameter is an
       electronic mail domain for which it will be  verified  whether  the  corresponding  mail  exchangers  are
       currently responding to SMTP requests.

   ETRN MODE
       If  the  -T  option  is  specified,  the program enters a special etrn mode. The required parameter is an
       electronic mail domain.  An ESMTP ETRN command will be delivered to its corresponding mail exchangers. An
       optional  name  is  used  as  the ETRN parameter.  If not specified, the local host name is used instead.
       ETRN is defined in RFC 1985, and is implemented in sendmail 8.8.

   RECURSIVE MODE
       If the -L level option is specified, the received replies to  an  address  verification  are  recursively
       verified  up  to  level  levels  deep.  This is handy for checking mailing list expansions, and detecting
       possible mail forwarding loops.

       Recursion stops automatically if the reply represents a local recipient address, or in case a  forwarding
       loop is detected.  If the received reply is the same (modulo comments) as the address that was asked for,
       the request is retried at its domain itself, unless this was the machine we just queried, or it is not an
       internet domain host.

       The option -R is equivalent to ``-L 17''.  This is the maximum hop count normally used during actual mail
       relaying. This option also implies ``-s''.

OPTIONS

       -v      Sets verbose mode. Prints the action the program is going to take.
               If specified as -vv, very verbose output is printed.  The SMTP transactions with the remote  host
               are shown in detail.
               If  the verbose mode level is set to 3 with -vvv, the actions taken by the remote host are shown,
               such as alias and forward expansions. This can be quite amusing. The remote host must support the
               SMTP VERB command for this to work.
               In ping mode, the verbose mode level 3 will cause an extra SMTP command HELO to be generated.

       -d      Prints  debugging  output showing the various phases of the SMTP connection with the remote host.
               This is normally not of any interest. Also prints various messages that are  otherwise  shown  in
               very verbose mode.
               If specified as -dd, in addition all nameserver query transactions are shown in detail.
               A level 3 debug mode -ddd will not make any SMTP connections at all.

       -a      If  multiple  mail  exchange hosts were found, this option will cause the operation to be carried
               out at each of these hosts.  Normally only the primary mail exchanger is contacted.

       -l      Sets local mode for error handling. Address syntax and parsing errors are handled entirely by the
               program.  The  default  is  to  pass faulty addresses to the local host to get the official error
               messages.

       -s      Strips all comments from full address specifications, and presents only the plain address to  the
               remote  host  to  be  verified.  Some hosts may get confused when a multiple bracketed address is
               presented. This option is implied when -R is given.

       -e      Uses the EXPN command instead of the VRFY command. Some systems may have different treatment  for
               these  commands,  so  this option may be a possible alternative.  By sendmail V5 they are usually
               treated the same, but not by the sendmail V8 versions.  In case treatment is different, the  VRFY
               command  will  just show whether the presented address is valid or not, but the EXPN command will
               return alias expansions, if appropriate.  Some systems allow VRFY, but disallow EXPN for  privacy
               reasons.

       -h      This  option  causes  an SMTP HELO command to be issued to the contacted server before subsequent
               commands are attempted.  Servers can be configured to refuse commands unless a  HELO  command  is
               given  first.   The  HELO  is  not  issued by default, since old versions of sendmail refuse SMTP
               connections originating on the same machine (i.e. if the domain name in the HELO command  is  its
               own name).

       -H      Similar  to the -h option, but now the ESMTP EHLO command is tried first. If the contacted server
               does not understand this, the SMTP HELO command is tried next.

       -n      Many non-sendmail hosts do not, or incorrectly or incompletely, implement the VRFY command. Other
               systems  have VRFY or EXPN disabled for privacy reasons. This option uses an alternative protocol
               suite with the regular HELO, MAIL, RCPT and RSET commands.  This gives only a  global  indication
               whether the recipient is valid. Recursive mode is not possible, and will be disabled.

       -S sender
               Defines an explicit envelope sender address to be used in the MAIL command during the alternative
               protocol suite, to overrule the default empty sender address ``<>''.  This option implies ``-n''.

       -c secs Sets a connect timeout value to override the default timeout of 6 seconds. This may be  necessary
               if it takes considerable time to connect to the remote host.

       -t secs Sets a read timeout value to override the default timeout of 60 seconds. This may be necessary if
               it takes considerable time for the remote host to assemble all addresses in long mailing lists.

DEFAULT OPTIONS

       Default options and parameters can be preset in an environment  variable  VRFY_DEFAULTS  using  the  same
       syntax as on the command line. They will be evaluated before the command line arguments.

DIAGNOSTICS

       vrfy  sets  up an SMTP connection with the remote host where the verifying is to be carried out.  SMTP is
       the TCP/IP protocol for electronic mail exchange.

       If the given host does not speak SMTP, the error message "Connection refused" is printed.

       If the SMTP protocol is blocked, a "Host is unreachable" message is printed.

       If the remote host doesn't respond in time, you will get a "Connection timed out" message.

       The remote host must support the SMTP VRFY command for doing the verification. If  not,  a  "Command  not
       implemented" is printed.

STRATEGY

       The following strategy is used to find the remote host where the verification is to be carried out.

       a.  If an explicit verification host is specified, that host is contacted unconditionally.

       b.  If  the  address  to  be  verified has no domain part after an '@' sign, it is supposed to be a local
           recipient and will be verified at the local host.

       c.  If the address contains a domain part after an '@' sign, mail exchange hosts will be fetched for that
           domain.  If  no  such  mail exchangers are found, the domain part is supposed to represent a specific
           host, and that host itself will be contacted.

       d.  If mail exchangers were found, the verification will be carried out  at  the  primary  mail  exchange
           host.

       e.  If  the -a option was given, and multiple mail exchangers exist, the verification is also carried out
           at all other mail exchange hosts.

       f.  For the pseudo domains ".uucp" and ".bitnet" a specific server can be compiled-in. The default is  to
           contact the local host.

       g.  If  no  mail exchangers were found for an unqualified single hostname, the local host is contacted by
           default. The actual meaning of such addresses depend on your local strategy.

ENVIRONMENT

       Environment variables can be used to overrule several compiled-in defaults.

   VRFY_LOCALHOST
       This is your nearest host running the sendmail daemon.  It is contacted in case local addresses without a
       domain  are  given.   Also (unless the -l is given) when domain parsing errors were encountered, assuming
       that this host can give a more appropriate error message.  The default value is localhost.

   VRFY_UUCPRELAY
       This host is contacted  when  a  .uucp  address  is  specified.   You  probably  won't  get  much  useful
       information.  The default value is localhost.

   VRFY_BITNETRELAY
       This  host is contacted when a .bitnet or .earn address is specified.  You probably won't get much useful
       information.  The default value is localhost.

   VRFY_SINGLERELAY
       This host is contacted when a single unqualified host name could not be resolved to a fully qualified  MX
       domain  host.   It  is assumed that single hosts in your own domain can be resolved, i.e. they have an MX
       record.  It depends on your local strategy for unqualified hosts what they mean: a .uucp host, a  .bitnet
       host, or just a local host without MX.  The default value is localhost.

LIMITATIONS

       Some  hosts  have a lousy VRFY handling. Sometimes the command is not implemented at all. Other hosts are
       willing to verify only local recipients. The "-n" option may be necessary.

       Other servers may refuse the VRFY command for privacy reasons.

       If the verification is not performed at the final destination host, one cannot be  sure  that  the  given
       address is valid.

MAILING LISTS

       Note  the  following subtle differences if you want to check an existing mailing list list.  Suppose that
       ``list-users'' is the local alias to include the actual file ``/mail/lists/list-users'' with recipients.

       The command ``vrfy list-users'' will verify the proper expansion of the mailing list at the  local  host.
       No remote hosts are contacted to verify addresses.

       The  command  ``vrfy -f /mail/lists/list-users''  will  verify each individual address at the appropriate
       remote hosts.

       The same effect can be reached when you give the command ``vrfy -L 1 list-users''. Use a higher recursion
       level if you want to see further expansion of the mailing list.

AUTHOR

       Eric Wassenaar, Nikhef-H, <e07@nikhef.nl>

                                                     971114                                              vrfy(1)