matt@ncr-sd.UUCP (Matt Costello) (09/19/86)
Summary: The issue of how to address mail to a local (in the general sense) user without having to remember the users account, machine and domain has come up recently (see below) and I thought I'd share our solution to the problem. In article <1246@umd5> zben@umd5.umd.edu (Ben Cranston) writes: > >> I have it set up to work as follows: >> 'mail user' will go to the user on the current machine, if he exists. >> If not, it will go to the machine on our local network that the user's >> account is on. These tables are kept up to date automatically. The >> rationale is that users should not have to remember on which machine >> another local user lives. > >This can be done because the Computer Science Department's users are limited >in number and closely communicate. What works for 100 users does not always >work for 10,000 (consider the N log N time to sort their names, for example). > >In particular, the Department owns its own machines, and can make the rule: >"if there exists a jim@foo and a jim@bar they are the same person!" stick. >With every department on campus owning its own computers, *I* cannot make >such rules. Thus this scheme cannot in the general case be make to work. > As a simple solution to the above problem we special case all user names with embedded periods in our mail router. Rather than passing them to localmail (or its equivalent) our router just executes a different mailer agent which just aliases them against our phone database. If the addressee is present and has an email address then the email address there is passed back to the router for further resolution. As an example: Matt.Costello has no system address and so is a local address. Because it contains a period the "nameserver" mailer is used instead of "local". The nameserver mailer causes our database program to be executed looking for an alias to Matt.Costello. It finds an entry that matches and so returns the address matt@ncr-sd to the mail router. The mail router qualifies the domain name to matt@ncr-sd.SanDiego.NCR.com and then routes it to me from any machine in our domain. The matching algorithm used is case insensitive, so matt.costello and MATT.COSTELLO will work equally well. Currently the matching is done using substrings so that matt.c and m.cost will also work, while m.c would match multiple entries and cause the delivery to fail, returning the message back to the sender. I've plans to convert the matching algorithm to a modified soundex to fix things like Bill and William being different. --- Matt Costello, <matt@ncr-sd.SanDiego.NCR.com> (not registered yet) <matt.costello@SANDIEGO.NCR.com> {ihnp4,cbosgd,dcdwest,sdcsvax}!ncr-sd!matt -- Matt Costello, matt@ncr-sd.SanDiego.NCR.com {sdcsvax,ihnp4}!ncr-sd!matt