Eric Thomas <[log in to unmask]> says:
>There would need to be as many sets of instructions as there are major
>mail packages out there. The hard reality is that, while all the mail
>packages all have commands called "forward" or "resend" or "reply", they
>do very different things on different mail programs. There is no Internet
>standard saying what a command called "forward" should do, and each
>vendor has used his own definition, resulting in a total mess. Most mail
Nathan Brindle <[log in to unmask]> adds:
>Hmm, that's interesting. I just read section 6.5 and it explains what
>to do. On the other hand, I don't know what mail client you're using,
>so I can't tell you how to forward from it.
>All you have to do is forward the message back to the list. If your mail
>client doesn't support the "Resent-" headers, it will look like it's
>coming from you. If it does, then it will look like it's coming from
>the original poster. I don't understand why this is so difficult,
>considering that when you forward mail, generally you are given the
>chance to edit the contents before you send it. If the "Resent-"
>headers aren't generated, though, LISTSERV doesn't know that the mail
>originated somewhere else, since the mail is now going to appear to
>have originated from <you>.
There are two problems here, which it appears to me that Eric and Nathan
are simultaneously admitting and denying.
1. The word "forward" means a dozen different things, as you admit yourself
above--yet the documentation (and your words above) insists that one
"simply" uses the forward function of your mail client, implying that
there's nothing more to it. What is needed is something more along the
lines of:
"To approve a message for distribution to the list, the editor needs
to resend the original message back to listserv. Since listserv
needs to know that the message came from the editor, either the
'From:' header field must contain the e-mail address of an Editor (or
Owner), or a 'Resent-From:' field (with the e-mail address of an
Editor or Owner) must be added to the HEADER of the message. Since
one usually wants to preserve the original 'From:' line, the latter
approach must usually be used.
"This is easier said than done; some mail clients provide a "resend"
command that does just this. Less frequently, a "forward" command
does this (but be careful--with most clients "forward" will put the
original headers in the BODY of the message, and will not preserve
them in the header of the forwarded message, except perhaps for
the 'Subject:' line). Other mail clients will let you edit all the
headers, so you can simply create a new mail message with the
original 'From:' and 'Subject:' lines, add a 'To:' line to the list
address and a 'Resent-From:' line with your e-mail address. You
should probably preserve some of the other headers also,
like 'Message-ID:' but the above is the minimal set you want to use.
"Believe it or not, these are the easy cases. Many mail clients will
NOT let you edit headers other than the 'To:' and 'Subject:' lines,
and will NOT let you add a 'Resent-From:' line. At that point, you have
to become a hacker, and create your own script that fills in the
headers and uses '/usr/lib/sendmail -oi' as the client--of course,
that's only if you're using a Unix system with sendmail as your mail
agent, otherwise you have to figure out the equivalent on your
system."
2. The second problem should be evident from the above description, and
that is that Listserv's mechanism to "approve" messages to a moderated
list is _fundamentally_ incompatible with *many* (I'd venture *most*)
mail clients in use. Majordomo has the right idea here: put the
entire message that you want to approve (headers and all) in the body
of the new message, and use a special delineator or password line, or
some such thing to indicate that the body is to be interpreted as a
complete mail message, with headers to be processed and sent to the
list.
BTW, even THAT isn't fool-proof (e.g., MH will convert a line that
starts with "--etc." to "- -etc.", and many mailers convert "^From"
to ">From", "^.$" to ". ", etc., but mailers fool around with the
body of the message considerably less than they do with the headers).
At least all mail clients let the user put anything he likes in the
body!
My corporate gateway to the Internet happens to enforce a "no-forgery"
mechanism, so that the "From:" line gets changed, RFC822 notwithstanding,
to my "true" address regardless of what I put in it. (Don't tell me
that's not what it should be doing--the fact is that that's what it
does.) So it is "impossible" for me to preserve the original "From:"
line. Do you know what I had to go through to set up an easy-to-use
mechanism for approving messages to my moderated list?
1. I process the incoming mail through an awk script that puts it in
the body of a new message with special control headers (that my
gateway will let pass).
2. I send this via /usr/lib/sendmail to an account I maintain on a
public access Unix system (largely for this purpose).
3. A procmail script on this machine strips off my headers (i.e., gets
back the "real" message, adds a "Resent-From:" line, and sends it,
also via /usr/lib/sendmail, to the list address. (This machine's
sendmail doesn't fool around with headers.)
There's got to be a better way, and one that's transparent to the
vagaries and restriction of mail clients, firewalls, et al. I don't
think it's that hard to make it so, but first of all L-Soft has to admit
that there's a deficiency in the existing method.
Thanks for listening ...
Shahrukh Merchant
|