----- Original Message -----
From: "Mike Brodbelt" <[EMAIL PROTECTED]>
To: "Ian McDonald" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, October 25, 2002 1:31 PM
Subject: Re: Perl filtering before final delivery


>  If you are using sendmail, the cleanest way of doing what you want would
> be to make use of the milter interface, which allows you to pass
> messages through an external program that can change them as you wish.
> This would not require users to have accounts on the server, and would
> not interfere with the normal cyrus delivery mechanisms. For examples of
> something similar, look at the sendmail milters available for hooking in
> Spam Assassin.

Alas, the Milter interface is multithreaded, Sendmail::Milter seems (to be)
to be relatively unstable, and the Perl DBI libraries do not work reliably
in a Milter environment.

> > So, when I have an amended mail message and a destination folder, what
do I
> > do? Call /usr/cyrus/bin/deliver with my settings?
>
> Yes, you could do that. Deliver is just a wrapper that sends a message
> submitted to it to Cyrus via LMTP. If you can do your processing in the
> MTA pipeline, before it reaches Cyrus however, I think you'll have a
> better solution. The Milter interface for sendmail allows you additional
> latitude, such as specifying what should happen if the filter is not
> available, and multiple filters can also be chained together. Other
> MTA's may have other means of achieving this.

Alas, this would require reworking Cyrus and sendmail again; Sendmail 8.12.6
seems to talk directly to lmtp. Given how long it took me to set up Cyrus
the first time, I am loathe to tinker.

Is moving to /usr/cyrus/bin/deliver as simple as replacing:
define(`confLOCAL_MAILER', `cyrusv2')
MAILER(`cyrusv2')with this? :define(`confLOCAL_MAILER', `cyrus')
MAILER(`cyrus')
Does /usr/cyrus/bin/deliver run as a nice, straightforward, single-threaded
process which is called many times?Thanks,Ian

Reply via email to