Delivered-To or Envelope-To header ...

Christian Kratzer ck.lists at cksoft.de
Tue Jan 2 06:00:16 EST 2007


On Fri, 29 Dec 2006, Phil Chambers wrote:

>
> On Tue, 26 Dec 2006 17:17:49 -0400 "Marc G. Fournier" <scrappy at hub.org> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>>
>> Is it possible to add this where delivery method is lmtp?  I have one person
>> requesting it, and am not finding anything particularly useful on the subject
>> ...
>>
>> Mainly, what they are looking at is where UserA is aliased to UserB, but they
>> want to know that the original was sent to UserA for 'sub-filtering' purposes
>> ...
>>
>> I'm using Postfix in front of cyrus imapd .. and v2.3.x of Cyrus IMAPd ...
>>
>
> If a message has been delivered to B because A is in the To: or Cc: then you
> don't need any extra header lines because you can see it in the To: and Cc:.

a message is delivery solely by what is in the envelope. The headers
are irrelevant to mail routing.

> If the message was delivered to multiple recipients because of Bcc: or because
> of a list (Postfix can't tell the difference) then you are snookered as far as
> I can see.

of course postfix can tell the difference.  It has the envelope 
information. If it did not have the envelope data it could not
deliver the message anywhere.

> You would need to get Postfix to put a list of all the envelope
> recipients in the new header line and that would break the Bcc: privacy, so you
> should refuse to do it.

the trick would be to add a different envelope recipient 
header for each recipient.

This of course also breaks any single instance delivery
scheme as the message would have to be duplicated for each
recipient.

The postfix local delivery agent does this in certain cases:

   In the  case  of  UNIX-style  mailbox  delivery,  the  local(8)  daemon
   prepends  a  "From  sender time_stamp" envelope header to each message,
   prepends an X-Original-To: header with the recipient address  as  given
   to  Postfix,  prepends  an optional Delivered-To: header with the final
   envelope recipient address, prepends a  Return-Path:  header  with  the
   envelope sender address, prepends a > character to lines beginning with
   "From ", and appends an empty line.  The mailbox is locked  for  exclu-
   sive  access  while  delivery  is  in progress. In case of problems, an
   attempt is made to truncate the mailbox to its original length.

   In the case of maildir delivery, the local daemon prepends an  optional
   Delivered-To:   header  with  the  final  envelope  recipient  address,
   prepends an X-Original-To: header with the recipient address  as  given
   to Postfix, and prepends a Return-Path: header with the envelope sender
   address.

I am sure some users would like something like this for cyrus but I 
can also see the reluctance to implementing this because of breaking 
single instance delivery.

This would have to be an optional feature.

Greetings
Christian

-- 
Christian Kratzer                       ck at cksoft.de
CK Software GmbH                        http://www.cksoft.de/
Phone: +49 7452 889 135                 Fax: +49 7452 889 136


More information about the Info-cyrus mailing list