Dilyan Palauzov writes:
Hi folks,
I was thinking on implementing a sieve-milter, an addon for
sendmail, that filters mails for users, which do not necessary have
mailbox on that server. In such cases the filter is applied to the
whole envelope with its contents (except where the message is
modified, in which case a new message shall be generated). And on
some points I continue to think how to implement them.
- test size
How shall the implementation determine the size of the message: if the
smtp server supports rfc 1870 (esmtp, size), can the sieve
implementation use that value (MAIL FROM: nana(_at_)aegee(_dot_)org size=10000 ,
or shall count by itself the bytes contained?
I was pondering this (about postfix, not sendmail, in order to do
protocol-level reject) and thought I'd use SIZE=x until the counted
size is available, and after that use the counted size.
- envelopes
If a mail goes to several recepients, but in one envelope, test
address and test envelope can figure it out, but then the rfc3028
permits that one user removes the other from the envelope. E.g. if a
mail goes
To: a(_at_)d(_dot_)e, b(_at_)d(_dot_)e
the a(_at_)d(_dot_)e(_dot_) might have the follwoing script
if envelope :all is "to" b(_at_)d(_dot_)e discard;
then the mail might not be delivered to b(_at_)d(_dot_)e . Is there any sentence,
I have overseen, prohibiting that the different users' scripts may
not interfere?
I eventually decided that a(_at_)d(_dot_)e should not be able to tell whether the
envelope contains b(_at_)d(_dot_)e(_dot_) If b(_at_)d(_dot_)e is a bcc, revealing it in sieve would
be a privacy leak.
Greetings,
Дилян
(I can read all of that. I feel proud.)
Arnt