[comp.mail.misc] aliasing everyone within an organization

bob@kahala.hig.hawaii.edu (Bob Cunningham) (03/17/89)

I'm implementing, for an organization of several hundred people, a
scheme where everyone can potentially receive e-mail via standardized
aliases (no matter how cute their username is, or what machine they
actually receive e-mail on, or even if they don't have a current e-mail
address) using individual's first initial and last name.  Thus, I'm

	rcunningham@ourdomain

and for folks who use nicknames (like "Bob"), also

	bcunningham@ourdomain

I've already done this for the 40% or so of people who are active e-mail
users.  It seems to work well, but now I'm working on people who don't
normally use e-mail.

If you've already done (or thought of doing) something like this, I'd
like to hear how you treat:

	1) Ambiguities like Ron Cunningham and Robert Cunningham.
	I've seen setups that capture a message to "rcunningham"
	and send back a message to the effect that's it ambiguous,
	please choose:

			roncunningham
		or	robertcunningham

	Before I "roll my own" program to do this (or in some other
	manner resolve ambiguities) I'd like to find out how others
	might do it.


	2) Addressees who don't or won't handle e-mail themselves.  I
	plan on having several generic mailboxes handled by people
	like secretaries to handle mail for multiple people in
	this category.  If I can't fully resolve delivery this
	way, I plan on knocking loose e-mail off to a printer
	for hand delivery.  Again, before I "roll my own" solution,
	I'd like to hear from others who might have tried this.

	3) Fixing up outgoing "From:" addresses.  If possible I'd
	like to have outgoing mail look as if it is from, for
	example "rcunningham@ourdomain" rather than "bob@mymachine.domain".
	I've don't believe I've actually seen this done before,
	but it sounds interesting...though I'm not sure exactly
	how to do it.  Any rational advice gratefully received.

Bob Cunningham
Hawaii Institute of Geophysics, University of Hawaii
bob@kahala.hig.hawaii.edu

barriost@rigel.UUCP (Tim Barrios) (03/19/89)

In article <3498@uhccux.uhcc.hawaii.edu>, bob@kahala.hig.hawaii.edu (Bob Cunningham) writes:
> I'm implementing, for an organization of several hundred people, a
> scheme where everyone can potentially receive e-mail via standardized
> ...
> If you've already done (or thought of doing) something like this, I'd
> like to hear how you treat:

when migrating to a new computing/mail environment (700 Apollos running
Unix mail), we spent a lot of time deciding on a user ID scheme that was
consistent across all users.  the basic idea was that you should be able to
send mail to someone if you know their name even if you don't know their
user ID.  what we decided on was <last name><first initial>.  the only
reason we went with the last name first was for sorting purposes.  in case
of a conflict (many 'smith's or even 'robert smith'), the user can use a
nick-name as the initial ('b' for bob) and/or an additional middle initial
id necessary.  we find that this scheme makes it so that you can send mail
to someone that you meet in a hallway or meeting at least 95% of the time.

Enhancements to this scheme might include using upper case letters to
distinguish name locations and/or some sep character (some users didn't
like this since it could involve hitting the shift key in a user ID) such
as: CunninghamRE, RECunnungham, Cunningham.RE, RE_Cunningham...


-- 
Tim Barrios                                       | "Integrate, Automate,
  UUCP: ...!ames!ncar!noao!asuvax!gtephx!barriost |          or Evaporate"

dewey@sequoia.UUCP (Dewey Henize) (03/19/89)

In article <421a3fa7.16e4b@rigel.UUCP> barriost@rigel.UUCP (Tim Barrios) writes:
}In article <3498@uhccux.uhcc.hawaii.edu>, bob@kahala.hig.hawaii.edu (Bob Cunningham) writes:
}> I'm implementing, for an organization of several hundred people, a
}> scheme where everyone can potentially receive e-mail via standardized
}> ...
}> If you've already done (or thought of doing) something like this, I'd
}> like to hear how you treat:
}
}when migrating to a new computing/mail environment (700 Apollos running
}Unix mail), we spent a lot of time deciding on a user ID scheme that was
}consistent across all users.  the basic idea was that you should be able to
}send mail to someone if you know their name even if you don't know their
}user ID.  what we decided on was <last name><first initial>.  the only
}reason we went with the last name first was for sorting purposes.  in case
}of a conflict (many 'smith's or even 'robert smith'), the user can use a
}nick-name as the initial ('b' for bob) and/or an additional middle initial
}id necessary.  we find that this scheme makes it so that you can send mail
}to someone that you meet in a hallway or meeting at least 95% of the time.

Or you could instead just add a tool to allow folks to LOOK UP an address.
We did that here - we didn't want to get into the mold of 'last name,
initial, serial number, rank, etc :-), so we just built a little shell
that allows lookup.  No big deal, a couple people found it interesting
to play with, it works...

----
#!/bin/sh
#
#       extract possible names for mail from the passwd file.
#
if [ ${1}"test" = "test" ]; then
	echo "usage: whomail <list of names, addresses, or strings>"
	exit 0
fi
string="$1"
shift

while expr $# '>' 0 >/dev/null
        do
        string="$string|$1"
        shift
        done

ypcat passwd | sed -e "s/:[^:]*:[^:]*:[^:]*:/ - /" -e "s/:.*//" | \
        egrep "`echo $string | tr 'A-Z 'a-z'`"
----
obviously, if you aren't using YP, you replace the 'ypcat passwd' with what
you need (like 'cat /etc/passwd'), or whatever, but it allows lots of freedom
in names.

Dewey Henize

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| There is nothing in the above message that can't be explained by sunspots.  |
|                   execu!dewey             Dewey Henize                      |
|         Can you say standard disclaimer?  I knew you could.  Somehow...     |
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

chip@ateng.ateng.com (Chip Salzenberg) (03/22/89)

According to bob@kahala.hig.hawaii.edu (Bob Cunningham):
>I'm implementing, for an organization of several hundred people, a
>scheme where everyone can potentially receive e-mail via standardized
>aliases [...] even if they don't have a current e-mail address)
>using individual's first initial and last name.

I think my "deliver" program (currently at patchlevel eight) might provide
part of the solution to this problem.  It works with BSD or USG Unix, and it
provides the ability to execute arbitrary commands to control delivery of
incoming mail.  Be sure you have Smail, though.

For example, for those users who don't have accounts, you can have deliver
print the message instead of doing normal delivery.  Assuming the existance
of a text file "del.aliases" that looks like this:

	bcunningham     rc@foo
	dicknixon       [print]
	rcunningham     rc@foo
	richardnixon    [print]

(Be sure it's sorted.)

Then you can use a system delivery script like this:

	for u
	do
	    # Look up the given name
	    n=`look "$u " del.aliases | awk '{ print $2 }'`

	    # Take action based on result of lookup
	    case "$n" in
	    *@*@*)  echo $n ;;
	    *@*)    n1=`expr $n : '\(.*\)@.*'`
		    n2=`expr $n : '.*@\(.*\)'`
		    if [ $n2 = `uuname -l` ]
		    then
			# Local user
			echo $n1
		    else
			# Remote user
			cat $HEADER $BODY | rmail $n ;;
		    fi
		    ;;
	    [print]) cat $HEADER $BODY | lpr
		    ;;
	    *)      echo $u
		    ;;
	    esac
	done

This does the obvious thing, i.e. print those with entries that say
"[print]".

This script would be *much* clearer in Perl, but since not all systems have
Perl, I can't just assume it's available.
-- 
Chip Salzenberg             <chip@ateng.com> or <uunet!ateng!chip>
A T Engineering             Me?  Speak for my company?  Surely you jest!
	  "It's no good.  They're tapping the lines."