[comp.unix.xenix] RFC822 addresses and Xenix `mail'

chip@ateng.UUCP (Chip Salzenberg) (11/02/87)

In article <536@bms-at.UUCP> stuart@bms-at.UUCP (Stuart D. Gathman) writes:
>
>Unfortunately, SCO mail screens addresses for garbage characters
>(e.g. '@' & '.') before passing mail to /bin/rmail.  As I say on
>many occasions, "Gee, they sure went to a lot of trouble to make
>it not work!"

This `feature' is easy to defeat.

In the /usr/lib/news/mailrc file, add this line:

	set execmail

This causes the mail program to hand all mail to /usr/lib/mail/execmail.
(This gem is courtesy of Tom Walsh <uunet!foobar!tw> -- thanks, Tom.)

It is then necessary to rename the existing /usr/lib/mail/execmail to
something else, say execmail.x, and then have smail use execmail.x as the
local delivery agent.

And of course, you need to install a replacement for execmail.  This is
my execmail replacement:

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the "#! /bin/sh" line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	execm.c
# This archive created: Mon Nov  2 11:13:58 1987
export PATH; PATH=/bin:$PATH
:
echo 'shar: extracting "execm.c" (523 characters) '
if test -f 'execm.c'
then
	echo 'shar: will not overwrite existing file "execm.c" '
else
sed 's/^X//' << \SHAR_EOF > 'execm.c'
X/*
X * execm.c
X *
X * This program is a substitute for Xenix's /usr/lib/mail/execmail.
X */
X
X#include <stdio.h>
X
Xmain(argc, argv)
Xint     argc;
Xchar    **argv;
X{
X	char *progname = argv[0];
X
X	/*
X	 * Drop the execmail options.
X	 */
X	while (argv[1][0] == '-')
X	{
X		switch (argv[1][1])
X		{
X		case 'f':
X		case 'h':
X			argv += 2;
X			break;
X		default:
X			++argv;
X			break;
X		}
X	}
X
X	argv[0] = progname;
X	execv("/usr/bin/smail", argv);
X	execv("/bin/smail", argv);
X
X	fprintf(stderr, "%s: can't execute smail!\n", progname);
X	exit(1);
X}
SHAR_EOF
if test 523 -ne `wc -c < 'execm.c'`
then
	echo 'shar: error transmitting "execm.c" (should have been 523 characters) '
fi
chmod 664 'execm.c'
fi  # end of overwriting check
#	End of shell archive
exit 0

-- 
Chip Salzenberg         "chip@ateng.UUCP"  or  "{uunet,usfvax2}!ateng!chip"
A.T. Engineering        My employer's opinions are not mine, but these are.
   "Gentlemen, your work today has been outstanding.  I intend to recommend
   you all for promotion -- in whatever fleet we end up serving."   - JTK
-- 
Chip Salzenberg         "chip@ateng.UUCP"  or  "{uunet,usfvax2}!ateng!chip"
A.T. Engineering        My employer's opinions are not mine, but these are.
   "Gentlemen, your work today has been outstanding.  I intend to recommend
   you all for promotion -- in whatever fleet we end up serving."   - JTK