expn

Back in the days before spammers and worms, mail servers were a lot
friendlier. In particular, most of them were willing to tell you what
aliases expanded into using the EXPN command.

This ancient perl4 program would recursively expand aliases, going from
server to server to fully expand a mail address.

Current status: useless
Honerable mentions: included in the sendmail distribution.
Last update: 2001

EXPN(1) EXPN(1)
NAME
expn - recursively expand mail aliases
SYNOPSIS
expn [-a] [-v] [-w] [-d] [-1] user[@hostname] [user[@hostname]]...
-- -- -- -- -- ---- -------- ---- --------
DESCRIPTION
expn will use the SMTP expn and vrfy commands to expand mail aliases.
It will first look up the addresses you provide on the command line.
If those expand into addresses on other systems, it will connect to the
other systems and expand again. It will keep doing this until no fur-
ther expansion is possible.
OPTIONS
The default output of expn can contain many lines which are not valid
email addresses. With the -aa flag, only expansions that result in
---
legal addresses are used. Since many mailing lists have an illegal
address or two, the single -a, address, flag specifies that a few ille-
--
gal addresses can be mixed into the results. More -a flags vary the
--
ratio. Read the source to track down the formula. With the -a option,
--
you should be able to construct a new mailing list out of an existing
one.
If you wish to limit the number of levels deep that expn will recurse
as it traces addresses, use the -1 option. For each -1 another level
-- --
will be traversed. So, -111 will traverse no more than three levels
----
deep.
The normal mode of operation for expn is to do all of its work
silently. The following options make it more verbose. It is not nec-
essary to make it verbose to see what it is doing because as it works,
it changes its argv[0] variable to reflect its current activity. To
see how it is expanding things, the -v, verbose, flag will cause expn
--
to show each address before and after translation as it works. The -w,
--
watch, flag will cause expn to show you its conversations with the mail
daemons. Finally, the -d, debug, flag will expose many of the inner
--
workings so that it is possible to eliminate bugs.
ENVIRONMENT
No enviroment variables are used.
FILES
/tmp/expn$$ temporary file used as input to nslookup.
SEE ALSO
aliases(5), sendmail(8), nslookup(8), RFC 823, and RFC 1123.
BUGS
Not all mail daemons will implement expn or vrfy. It is not possible
to verify addresses that are served by such daemons.
When attempting to connect to a system to verify an address, expn only
tries one IP address. Most mail daemons will try harder.
It is assumed that you are running domain names and that the
nslookup(8) program is available. If not, expn will not be able to
verify many addresses. It will also pause for a long time unless you
change the code where it says $have nslookup = 1 to read $have nslookup
-------------- - - --------------
= 0.
- -
Lastly, expn does not handle every valid address. If you have an exam-
ple, please submit a bug report.
CREDITS
In 1986 or so, Jon Broome wrote a program of the same name that did
about the same thing. It has since suffered bit rot and Jon Broome has
dropped off the face of the earth! (Jon, if you are out there, drop me
a line)
AVAILABILITY
The latest version of expn is available through anonymous ftp at
ftp://ftp.idiom.com/pub/muir-programs/expn.
------------------------------------------
AUTHOR
David Muir Sharnoff
----- ---- -------- ----------------
Edition March 11, 1993 EXPN(1)