Over the past few weeks quite a number of people have asked me why mail
from SEARN lists suddenly started showing up as (say) 'OWNER-LS MAIL'
rather than 'LSTSRV-L MAIL' under RDRLIST. I guess it's time for a public
answer to save time to everyone.
A new list header keyword, "Safe= Yes/No", was announced quite a while
ago. The change in spool fileid is due to a combination of the list using
"Safe= Yes" and the target site running XMAILER. This is not the PURPOSE
of the "Safe= Yes" keyword, merely an unfortunate side effect.
A very good (but by no means sufficient) way to avoid mailing loops is to
set the address to which delivery errors are supposed to be returned by
non-broken, conforming mailers to something other than the list.
Obviously this special mailbox must work and somehow forward the error to
the list owners - not just dump it into a black hole. This is the
technique the Internet is using, and because this is their only firewall
you will occasionally see serious mailing loops on Internet lists, which
are then collectively blamed on BITNET because some understaffed BITNET
site happened to run a broken mailer (usually vanilla VMSmail with no
RFC822 mailer) and obviously the problem is due to the IBM culture of
BITNET (of which VMSmail and X.400 must be perfect examples ;-) ).
The reason LISTSERV did not originally take advantage of this firewall is
that there was no reasonable way to make it work. In order to use the
Internet conventions for these mailbox names, a special entry had to be
added to the mailer's configuration files for each and every list, and
updated regularly to reflect changes in list owners. This could not be
done without stopping the mailer, running a table generation program, and
restarting it. The functionality was available via the "Sender=" keyword,
but I don't know any site which actually used it. Another way was to set
up a second LISTSERV list and use that as sender. Quite a few sites did
that for major mailing lists, but you double the amount of lists and then
where do you get delivery errors for the second list sent? In practice,
only a very small percentage of mailing lists were run this way.
Since release 1.7b, a mechanism has been available for the mailer to
forward messages to owner-xxxx or xxxx-request to LISTSERV, which would
then know what to do with them, and you wouldn't have to maintain the
information in 2 places or reboot the mailer every time the address of
one of the owners of your 150 lists changes. Unfortunately this required
a change to XMAILER R2.08 which very few sites installed.
This function is now standard with both LMail and XMAILER R2.10. Either
mailer will become a pre-requisite for being on the LISTSERV backbone
from the beginning of March, as older versions of XMAILER do not support
lines longer than 80 and it is high time we moved out of this ridiculous
restriction (due, contrary to what many people believe, solely to the
fact that the mailer did not support lines longer than 80, and that
application developers ended up having to write code to split lines at
column 80 so they could be sent to the mailer). It will then be very easy
to add this new firewall, and that is what "Safe= Yes" is all about. It
will be the default option with 1.7f if you are running LMail or XMAILER
R2.10, so expect most lists to start working this way within a few
months.
Which brings us back to the original problem. When BSMTP became the
default delivery mechanism many years ago, XMAILER suddenly became less
user-friendly because the BSMTP code is generally more "lazy" than the
old code. Where you used to get:
From XYZ(MAILER): * New mail from John Smith <[log in to unmask]>
you now get:
From XYZ(MAILER): * New mail from <[log in to unmask]>
But it's not just that the name isn't shown: the information comes from
another place (which usually contains the same thing). XMAILER used to
scan the header and give you the "Sender:" field, or "From:" if there was
no "Sender:". Now it gives you the BSMTP MAIL FROM:, which is just a
mailbox without name and which in the case of "safe" LISTSERV lists will
be owner-xxx. LMail always scans the header, so you will not be affected
if you run it. And of course the message looks just the same once inside
your mailbox, if you use RiceMail to read it: the only people affected
are those who use RDRLIST + RECEIVE and whose site runs XMAILER. The best
solution, if you can't migrate to LMail, is an XEDIT macro one can call
from PEEK which uses a plain PUT command to log the message into a
notebook. Note that RECEIVE won't put the Netdata files XMAILER R2.10
generates into notebooks anyway, so lobbying the site running the list to
use "Safe= No" just won't do - at least not once John fixes XMAILER to
actually deliver in Netdata format when told to. But, above all, the
issue is the owner's convenience vs yours as a subscriber. Very few
people use PEEK+RECEIVE rather than RiceMail to read their mail, and you
can't expect the world to adapt to their specific needs. Before I get
flamed, that's how I read mail myself (except I never use PEEK nor
RECEIVE if I can avoid it ;-) ).
Eric
|