Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!uw-june!ka From: ka@june.cs.washington.edu (Kenneth Almquist) Newsgroups: comp.mail.misc Subject: Re: UCB Mail tries to be too smart Summary: No it doesn't. Just fix your sendmail.cf file. Message-ID: <7329@june.cs.washington.edu> Date: 20 Feb 89 23:45:20 GMT References: <885@ur-cc.UUCP> Organization: U of Washington, Computer Science, Seattle Lines: 73 msir@uhura.cc.rochester.edu (Mark Sirota) writes: > I just found a misfeature with UCB Mail. If remote mail comes in (i.e. > mail from a remote site, with a From: line of the form > > remote-user@remote-host > > and your sendmail.cf strips the hostname off of local addresses, so that the > To: reads just > > local-user > > instead of > local-user@local-host > > and the local user does a replyall in UCB Mail, then the resulting To: > line will be > > local-user@remote-host remote-user@remote-host This is the correct thing to do with traditional UUCP mail. There is no correct way to handle this with RFC822 format mail because RFC822 prohibits addresses without host names. > I find this unacceptable. It would seem that UCB mail is trying to be > intelligent; that is, it's assuming that remote-host may have been dumb > and not fully qualified it's addresses, so it tries to recreate it for you. The Berkeley mail code attempts to support something approximating a union of RFC822 and traditional UN*X mail. Mail that violates RFC822 is generally assumed to be in traditional UUCP format. > Well, I don't want it to do that. I deliberately strip the local machine > name off of all addresses before local delivery, so the headers will never > contain the local host name. And now I find that UCB Mail is trying to > protect me from myself. > > That pisses me off. I don't see that you have any particular cause to be angry. You have an incoming piece of mail in valid RFC822 format, which UCB Mail would handle fine. You then mangle the header of the incoming mail. Not surprisingly, this causes problems when you later try to run the UCB Mail program. Why blame the UCB Mail program for this? The UCB Mail program is certainly not "trying to protect you from yourself." You are changing the addresses on incoming mail, and UCB Mail is believing them without question. RFC822 is an interchange standard, so you are free to convert incoming mail to some other format for internal use (and in fact sendmail does replace CR-LF sequences with newline characters). Thus if you want to user and internal mail format that omits the local host name from all addresses, you can do so without violating RFC822. There are, however, several reasons for not doing this: 1. If you change the internal mail representation, you have to change any program that accesses mail. This means, for example, that you have to modify UCB Mail as well as sendmail. Why is this a surprise? 2. Mail doesn't always work perfectly. Even if your software runs perfectly, mail software on other hosts will contain bugs. Performing unnecessary transformations on mail headers makes these problems harder to track down and recover from. 3. The RFC822 mail format is widely known. Why demand that your users learn about local modifications to this format? It's one thing for you to live with a different internal mail format, but because of points 1 and 2 in particular, some of your users are likely to be affected by the change as well, and since they didn't implement it they are more likely to be confused by it. Why go out of your way to make things harder for your users? In short, don't change UCB Mail. Just get sendmail to stop mangling addresses. Kenneth Almquist