Xref: utzoo comp.mail.headers:229 comp.mail.misc:707 comp.mail.uucp:853
Path: utzoo!utgpu!water!watmath!clyde!rutgers!ames!ucbcad!ucbvax!sdcsvax!ucsdhub!jack!nusdhub!rwhite
From: rwhite@nusdhub.UUCP (Robert C. White Jr.)
Newsgroups: comp.mail.headers,comp.mail.misc,comp.mail.uucp
Subject: Mail guesses [fixed]
Message-ID: <569@nusdhub.UUCP>
Date: 17 Dec 87 00:53:33 GMT
Organization: National University, San Diego
Lines: 139

Ladies and gentelmen,
	I previously posted this message but it Contained some
horrible mistakes in the form of typos.  The entire precidence map at
the bottom, for instance, had the left<>right binding reversed.
This message has been preceded by a cnacel message for the other text.
Sory about the screw-up.

Rob.


Hello All,

	Having been unable to get a decient refrence on what headers
are what, I would like to know if my perceptions about address lines
are correct.  I am going to give a few examples of possible mailing
addresses, and then what I think will happen,  I would like to have
responses as to correctness of the examples [and possibly the
approprateness of the usage].  NONE of this is garneteed correct, but
is instead intended as a group of perceptions which I would like
validated or invalidated.
	I will of corse sumarize any mailed responses.

To:	personA,personB,personC@machine1.smalldomain.largedomain

	The local machine will first attempt to locate "machine1"
because it is the most spesific refrence.  If the local machine fails
to find "machine1" it will then look for a machine which is a member
of "smalldomain" because this is the most limited set of machines of
which "machine1" is aledgedly a member.  If "smalldomain" is not found
then "largedomain" will be sought, and so on with domain sizes
increasing as the list progresses to the left, hence:
	machine.building.campus.school.educational-comunity-at-large.

	If the above address is attached to a message whic is received
at a machine which is a member of "largedomain", that machine will
look for "machine1" and if not found "smalldomain".  If neither is
found then the message will be frowarded to the top of "largedomain".
If this is the top of large domain, the message will bounce [fail].
This domain-resolution will continue through each seccussive domain
until the machine is found or the samllest domain is encountered and
fails to resolve the machine refrence.

	Upon reaching "machine1" the message will be delivered to
three seperate accounts "personA" "personB" and "personC"  If any of
these accounts do not exist then those messages will bounce without
interfeering with deleivery to the accounts which do exist.

To:	personA@sdomain.mdomain.ldomain

	The top of "sdomain" will be sought [as above] if it can be
found, it will search it's accounts, aliases, mailing-lists, and
group-lists [as exist] for an account or refrence to "personA" and
send the message to that [those] accounts.  A list of accounts [as
above] may exist in place of "personA" [i.e.
"group1,group2,list1,personB,personC"]

To:	personA@machine1%machine2%machine3

	The sending machine will send to "machine1" and remove
"machine1%" from the address [netting personA@machine2%machine3%].
machine1 will similarly forward to "machine2" removing "machine2%"
[netting personA@machine3].  Machine2 will forward to "machine3"
leaving the header unchainged.  Machine3 seeing "personA@machine3"
will deliver to that/those account/list/group.

To:	personA@machine1%machine2@machine3%machine4

	This one I am not shure about.  My best guess would be:
machine3->machine4->machine1->machine2.  It is clear that the "%"
[percent] symbols can be used like a bang path for explicit routing.
It is also clear that the "@" [at] sign has higher precidence, and
that the "@" groups right to left, leading me to read this as "personA
(at machine1 then machine2 (at machine3 then machine4))".  Of course
"personA" may again be a list [as above].
	IS THIS CORRECT??

To:	machine3!personA@machine1%machine2

	This again is a guess: machine1->machine2->machine3->personA
	IS THIS CORRECT?

To:	machine2!personA,personB@machine1

	Another Guess: machine1->personB
				>machine2->personA
	IS THIS CORRECT?  IS IT LEGAL?

	The summary of these two is: 1) any bang paths must be to the
left of the first "@" [at] sign. 2) These bang paths will only be
processed _after_ everything to the right of the "@" [at] sign.  3) The
message will be replicated for each member of the list [the left side
of the "@" [at] sign] and forwarded as necessary.

To:	personB@machine2,personA@machine1

	Another Guess: machine1->personA
				>machine2->personB
	IS THIS CORRECT OR LEGAL?

	This would seem to follow from the listing rule above.  It
also implies that "," [comma] is of a higher precidence then an "@"
[at] when it is to the right of the "@" [at], while maintaing a 
lower precidence to the left of the "@" [at].  Or it would indicate
that "," [comma] and "@" [at] are of equal precidence, but that they
_both_ group from right to left.

To:	(text)

	The material within the "(" [lparen] and ")" [rparen] is a
comment, and generates NO delivery address or forwarding at all.
	IS A COMMENT ALONE ON A LINE LEGAL?


Also, any of the above formats may occur on the same line as any other
as long as there is at least one unit of whitespace seperating each
form of address.  The order of such combination, or multiple
occuarances of the "To:" "Cc:" and "Bcc:" header lines are immaterial
to the delivery, and should be processed on a first come first served
basis.

Precidence map:

	"(" ")" 	Grouping L->R	MAtched Pairs required.
	"," "@"		Grouping R->L
	"%"		Grouping L->R
	"!"		Grouping L->R

Finally, a question:  I have seen ";" [semicolon] refrenced in some of
what I have read on mail addressing.  What is the ";" for and have I
missed any other symbols?


ANY comments on the correctness of any of this will be greatly
appriciated.

Rob.

p.s. I'll bet you'll never guess why my .signiture does _not_ contain
	a mailing address ;-)