I can answer the one about the "n" flag. It means don't output the
unix from line (as specified by the l macro).
Basically, in order to conform as near as possible to RFC976 (UUCP
Mail Interchange Format) when invoking the standard uux, it was
necessary to define the l macro such that it included "remote from <sysname>"
in the unix from line.
The prog mailer was the only other mailer spec to not define "n"
(meaning no unix from line). Most programs happily ignore the unix
From line and look for a From: (or Reply-To:/Sender:) field instead,
so that was okay. Vacation is an exception.
I got around it with the interface given below to /usr/ucb/vacation,
but I never checked to see whether it would happily ignore the "remote
from" text after the date. (It does check for the date and moan if one
doesn't exist).
-Jim.
---------
#!/bin/sh
# Author: Jim Crammond
# Purpose: interface to make /usr/ucb/vacation work with uk-sendmail
date=`date | sed 's/^\(... ... .. ..:..:..\) ... \(....\)/\1 \2/'`
{ tee /tmp/msg$$ |
sed -n -e '/^From: / s/(.*)//g' \
-e '/^From: / s/.*<\(.*\)>.*/From: \1/' \
-e "/From: \(.*\)/ s//From \1 $date/p" | head -1 ; \
cat /tmp/msg$$
} | /usr/ucb/vacation $*
rm -f /tmp/msg$$