[net.mail.headers] Handling %'s and forwarding mail

kevin@harvard.ARPA (Kevin Crowston) (06/30/85)

I'm writing an SMTP server, and I have another few questions
about the right way to handle some mail.

If I get an address with %'s (e.g. xyz%cshost.csnet@csnet-relay.arpa)
what should I do with it?

1)  call up csnet-relay and say
	RCPT TO:<xyz%cshost.csnet@csnet-relay.arpa)

2)  call up csnet-relay and say
	RCPT TO:<@csnet-relay.arpa:xyz@cshost.csnet>

3)  something else

What if I wanted to send all of my mail by forwarding it to a
local "smart" machine with a decent mailer and letting it do
all of the delivery?  E.g. xyz is the smart machine; do I say

	RCPT TO:<@xyz.arpa:person1@site1.arpa,person2@site2.arpa>


-- 

Kevin Crowston				UUCP: {seismo,ut-sally}!harvard!kevin
MIT Sloan School of Management		ARPA: kevin@harvard.ARPA

eric@grkermi.UUCP (Eric N. Starkman) (07/01/85)

In article <226@harvard.ARPA> kevin@harvard.ARPA (Kevin Crowston) writes:
>If I get an address with %'s (e.g. xyz%cshost.csnet@csnet-relay.arpa)
>what should I do with it?
>
>1)  call up csnet-relay and say
>	RCPT TO:<xyz%cshost.csnet@csnet-relay.arpa)
>
>2)  call up csnet-relay and say
>	RCPT TO:<@csnet-relay.arpa:xyz@cshost.csnet>
>
>3)  something else

Call up csnet-relay and say
	RCPT TO:<xyz@cshost.csnet>

Though both of the things you have above *should* work properly anyway.
>
>What if I wanted to send all of my mail by forwarding it to a
>local "smart" machine with a decent mailer and letting it do
>all of the delivery?  E.g. xyz is the smart machine; do I say
>
>	RCPT TO:<@xyz.arpa:person1@site1.arpa,person2@site2.arpa>
You should use a separate RCPT TO: line for each person to receive the
message.
	RCPT TO:<person@site1.ARPA>
	RCPT TO:<person@site2.ARPA>
You don't need to put the @xyz thing in...after all, XYZ knows its own name.

					-Eric Starkman
ARPA: starkman@athena.MIT.EDU 
UUCP: ...{decvax}!genrad!panda!ens

zben@umd5.UUCP (07/02/85)

In article <487@grkermi.UUCP> starkman@mit-athena.ARPA (Eic N. Starkman) writes:
>In article <226@harvard.ARPA> kevin@harvard.ARPA (Kevin Crowston) writes:
>>What if I wanted to send all of my mail by forwarding it to a
>>local "smart" machine with a decent mailer and letting it do
>>all of the delivery?  E.g. xyz is the smart machine; do I say
>>
>>	RCPT TO:<@xyz.arpa:person1@site1.arpa,person2@site2.arpa>
>You should use a separate RCPT TO: line for each person to receive the
>message.
>	RCPT TO:<person@site1.ARPA>
>	RCPT TO:<person@site2.ARPA>
>You don't need to put the @xyz thing in...after all, XYZ knows its own name.
>
The responses to the other questions look OK to me, its pretty much what we
are doing for our BitNet gateway.  Looking at headers is bad practice, for if
the message has been forwarded once before it gets to you, the header will in
general be out-of-sync with the out-of-band addresses.  Unfortunately, the
IBM mail system we interface with DOES look at the headers, so I have been
forced to develop code to correlate the inband and out-of-band addresses.

Some of our implementations, however, REQUIRE an "ourname" to be found at the
head of the address, basically as an error check on other peoples site tables.
So I disagree with the "you don't need to put in the @xyz thing" above...
-- 
Ben Cranston  ...{seismo!umcp-cs,ihnp4!rlgvax}!cvl!umd5!zben  zben@umd2.ARPA

wales@ucla-cs.UUCP (07/10/85)

Kevin Crowston <kevin@harvard.arpa> asked what to do with an address
such as the following:

		xyz%cshost.csnet@csnet-relay.arpa

The correct thing to do is his proposed answer #1.  Namely, open an
SMTP connection to CSNET-RELAY.ARPA and, at the appropriate point, say:

	    RCPT TO:<xyz%cshost.csnet@csnet-relay.arpa>

CSNET-RELAY.ARPA then has the responsibility to worry about interpreting
the address and forwarding the mail to the "cshost.csnet" machine.

The person who replied to Kevin's article by saying that the sending
host should transform the address into <xyz@cshost.csnet> is mistaken.
The sender should not make any effort whatsoever to break down or inter-
pret the "local part" of an address (i.e., the part to the left of the
at-sign); that is exclusively the province of the destination host.

To quote from RFC822, Section 6.2 (page 27):

	The domain-dependent string [i.e., the "local part" of
	the address] is uninterpreted, except by the final sub-
	domain; the rest of the mail service merely transmits
	it as a literal string.

While it is the case that CSNET-RELAY.ARPA happens to use "%" to denote
a "subnetting" operation (as do several other hosts), this convention is
NOT part of the official addressing standard and should NOT be hard-
wired into an outgoing mail handler.
-- 
Rich Wales // UCLA Computer Science Department // +1 213-825-5683
	3531 Boelter Hall // Los Angeles, California 90024 // USA
	ARPA:   wales@UCLA-LOCUS.ARPA  -or-  wales@LOCUS.UCLA.EDU
	UUCP:   ...!(ihnp4,ucbvax)!ucla-cs!wales