ietf-smtp
[Top] [All Lists]

Re: "for" clause on Received: header field

2007-04-30 16:55:15



--On Monday, 30 April, 2007 18:05 -0400 "Robert A. Rosenberg"
<hal9001(_at_)panix(_dot_)com> wrote:


At 09:45 -0700 on 04/30/2007, ned+ietf-smtp(_at_)mrochek(_dot_)com wrote
about Re: "for" clause on Received: header field:

The problem I see with the matching approach, aside from the
obious overhead, is while you can assume that a successful
match to, say, a To: field means it is OK to expose that
recipient address in a for clause, not finding  any matches
doesn't mean the address has bcc semantics. So you end up
presenting  the subset
of the active recipient list that happen not to have been
transformed by forwarding/routing activites in ways that
prevent matching. The result makes for clause disppear in
prcecisely the cases where it is most useful for debugging
purposes: When transformation of the recipient addresses by
forwarding/routing has led to a mismatch between what's in
the header and what's in the envelope.

The solution to the matching issue is simple. If you are the
ultimate receiver domain (ie: Example.com for mail addressed
to *(_at_)example(_dot_)com), just clone the message so there is a
separate copy for each Rcpt-To address and place the
appropriate address into the for clause of each cloned message
- IOW: Act as a SMTP Server that is designed to not group
multiple Rcpt-To commands into an outgoing email message even
though the Mail-To's point at the same MX Server.

Robert,

Sure.  But, at the delivery server and in delivery to the
mailbox or mail store, messing with the "for" field this way is
certainly feasible, but misses some of the point because (i) the
user usually knows that it is his or her mailbox to which
delivery occurs and (ii) Received fields are hard for an
arbitrary MUA to parse.  

There may be information in the delivery address -- especially
for those of us who use many addresses pointing to a much
smaller number of mailboxes or folders-- but that is precisely
why many MTAs support and insert a local header equivalent to
"X-Delivered-To:" that contains only the relevant address (no
need to parse it out of the last Received header line).

     john