Man Linux: Main Page and Category List

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)