Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ames!rex!ginosko!uunet!mcvax!inria!mirsa!huitema From: huitema@mirsa.inria.fr (Christian Huitema) Newsgroups: comp.mail.misc Subject: Re: Mail transfer vs. gatewaying (was Re: rewriting to's & cc's) Message-ID: <209@mirsa.inria.fr> Date: 27 Jul 89 10:23:52 GMT References: <1007@utkcs2.cs.utk.edu> Organization: INRIA, Sophia Antipolis. France Lines: 51 There was a slight component of provocation in my assertion that "it is improper to rewrite any field, except perhaps the envelope". However, the discussion pointed out clearly that: * header rewriting should be avoided in vanilla UUCP systems, for there is no such thing as a UUCP "mail header". The normal UUCP mail forwarding agent is /bin/mail, called as /bin/rmail, and only looks at the enveloppe -- i.e. its arguments. * header rewriting should be avoided on Internet relays using the RFC-822 conventions, for addresses are names, and are absolutes. I guessed that someone would raise, as David Herron, the gateway objection "the ! type addresses translated to @ type addresses before they'll be understood by RFC-land mailers". This raise several comments, like "shall we use bang addresses in headers at all" and "how shall we translate the bang addresses". My personal opinion is that the gateways should indeed perform all required translations in the enveloppes, for "uux rmail" understand the "!" syntax, and SMTP the "@" syntax; but leaving the text as it stands would has a lot of advantages. For one thing, you should note that if a header is forwarded (as a digest), it will never be rewritten; the digest can then be exploded, and the message folded or replied to. And that will only work if the header contains absolute addresses, in a commonly agreed format. Hence, the guidelines: * use domain names in headers, * when replying to a message, derive a route from the domain name if that is needed, and place it in the enveloppe. And, yes, I must confess that some rewiting has to be done. Illegal addresses, in the headers, shall be rewritten. For example, our gateways would rewrite: cc: what!ever!that!we!can!forget!bar!foo into an absolute address: cc: foo@bar (if bar is a domain name) cc: foo@bar.uucp (if bar is in the uucp map). Similarly, we would try to remove all funny pseudo information inserted by intermediate routers, in the form of "%" qualifiers. We have warned our users more than one year ago that only plain domain addresses are supported, and that placing a ! or a % in the addresses would remove all guaranties; there was some humming and grumbling at first, but the situation is now much cleaner. Christian Huitema