Re: [Dovecot] Dovecot and Bogofilter

2008-11-15 Thread mouss

Matthias-Christian Ott wrote:

Hi,
on my small Xen-virtualised server with 48 MiB RAM I use Postfix and
Dovecot, because the Debian administrators dislike qmail [1], which is in
my opinion despite some maintainability and code quality issues a quite
well designed software, because it mostly follows the UNIX principles.

Postfix is not able to sort my E-Mail into different Maildir folders 


postfix can, with the help of other programs. unix principles, you 
know ;-p


postfix can pass mail to any program you want. A wrapper would do 
something like


- pass the message to a filter.
- save the filtered message to a temp file
- parse the temp file to determine the destination folder
- run dovecot deliver with the -m option to specify the destination folder

of course, you need to catch errors.

maildrop may be a better tool at this job, though.



and
after I looked at procmail's source code, I decided to use Dovecot's LDA,
because it supports sieve via a plugin.

All in all it worked after some tweaking and Dovecot is now responsible
for authentication and delivery.

Furthermore I want to setup a spam filter and due to the memory
constraints I decided in favour of bogofilter (I made no real world tests,
but the authors claim that it's fast and has a small memory footprint).

My first idea was train bogofilter via a cronjob that runs bogofilter
for each E-Mail in my spam folder and deletes them afterwards.  Then I
stumbled upon the dovecot antispam [2] plugin and quickly wrote a backend
for bogofilter. During the development I realised that bogofilter has
to update the X-Bogosity header of the reclassified E-Mails. Johannes
Berg told me that he wasn't sure whether dovecot would be able to do
this and recommended to ask this on the mailing list.



one possibility would be
- deliver the reclassified message
- if ok, delete the original one. this means the plugin needs to know 
the file location.





An other problem is that each mail needs to be initially classified and
due to the fact that sieve is not able to execute external programmes,
deliver has to do this task. I'm currently thinking of possibilities to
implement this, so far I came up with the following:

  1. Write a generic pipe plugin which can execute an arbitrary number of
 programmes. The problem with this is that I'm not sure how to
 integrate this is in Dovecot's configuration file. I thought of
 something like this: pipe = prg1 | prg2
 


keep it simple ... if you need to pipe between multiple programs, just 
use shell wrappers.



  2. Write a bogofilter-specific plugin for this.



I guess we will end up with a foo-specific plugin, for every possible 
foo filter. A generic plugin is better even if that means executing 
shell wrappers.



Anyhow I would like to take this opportunity to criticise Dovecot
for being a bloated (unnecessary abstractions, verbose, pseudo
object-oriented, ...), non-suckless [3] and non-unixish (plugin
architecture, monolithic design, ...) software which in return works
quite well and stable so far.



ot
non-unixish? well
- plugins are simply loadable libraries. if you think they are 
windowish, you are wrong. They fit perfectly into the simple pieces of 
code to do fewtasks philosophy. just because dynamic libs weren't 
usable a long time ago doesn't mean unix should stick with old stuff.


- the unix kernel is monolithic. loadable modules support has been added 
 but the kernel is still a large piece of code.


- and before I forget, my favourite provaction: unix is obsolete ;-p
/ot



I appreciate any suggestions, ideas or criticism. I would really like
to finish configuring my mail server as soon as possible.

Regards,
Matthias-Christian

[1] http://smarden.org/pape/Debian/1215531259.4854_332.werc
[2] http://johannes.sipsolutions.net/Projects/dovecot-antispam
[3] http://www.suckless.org/common/




Re: [Dovecot] Dovecot and Bogofilter

2008-11-11 Thread Matthias-Christian Ott
Steffen Kaiser wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On Mon, 10 Nov 2008, Matthias-Christian Ott wrote:

 If you want something and Dovecot's deliver doesn't fit your needs,
 consider maildrop, http://www.courier-mta.org/maildrop/

 Looks a bit bloated to me.

 I'm not sure if I missed that part about the shell script, someone  
 suggested.

 You could use something like:

 #!/bin/bash

 bogofilter | dovecot-deliver $@

 replacing the orginal dovecot-deliver in the conf.
 If bogofilter does not support to pipe the message through, there will be 
 other ways.

 Besides that you have just one additional exec() (the shell) for each  
 delivery and you already inject the modified message to deliver. Or did I 
 misunderstood the problem, and you want the antispam to change the  
 message, when a mail is copied into / out of the SPAM folder via IMAP?

Yes, but currently it doesn't matter, because I decided to not use
spam filtering at the moment. Mutt just sucks and all this crappy mail
software that's still around. I can't see this from a pragmatic point
of view anymore, it's so fucked up.

It just annoys me, I'll keep my mail server at low traffic and avoid to
use all these things. This whole issue just showed me yet another time
that UNIX is really dead and forgotten. I have better things to do than
just configuring my computers, finding workarounds etc. I wish we could
somehow turn the clocks back 30 years and do all this crap right. In
my opinion the whole software industry (including the Free Software
community which degenerated into a periphery position) is just a bloated
bubble that will disastrously collapse at some point of time. I'm yet
another time glad that I don't have to work in this business.

So I think we can regard this issue as resolved.

Sorry for annoying you with my pessimistic opinion about software, but it
just bothers that after nearly four centuries of UNIX that nobody can get
simple tasks like mail delivery right (Yes, I know there are workarounds,
but there are tons of magazines that deal with workarounds for some big
proprietary operating system and it's still pain to use it).

 Bye,

 - -- Steffen Kaiser

Regards,
Matthias-Christian


Re: [Dovecot] Dovecot and Bogofilter

2008-11-11 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 10 Nov 2008, Matthias-Christian Ott wrote:


If you want something and Dovecot's deliver doesn't fit your needs,
consider maildrop, http://www.courier-mta.org/maildrop/


Looks a bit bloated to me.


I'm not sure if I missed that part about the shell script, someone 
suggested.


You could use something like:

#!/bin/bash

bogofilter | dovecot-deliver $@

replacing the orginal dovecot-deliver in the conf.
If bogofilter does not support to pipe the message through, there will be 
other ways.


Besides that you have just one additional exec() (the shell) for each 
delivery and you already inject the modified message to deliver. Or did I 
misunderstood the problem, and you want the antispam to change the 
message, when a mail is copied into / out of the SPAM folder via IMAP?


Bye,

- -- 
Steffen Kaiser

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFJGXAGVJMDrex4hCIRAhlvAKCcIA6KcRxhdIj1oPBam/pcWUu3uwCgvw0T
sgzJ2i4nzHcxR+UCY591n5w=
=xLhH
-END PGP SIGNATURE-


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Patrick Nagel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Matthias

Matthias Andree wrote:
 On Mon, 10 Nov 2008, Patrick Nagel wrote:
 The problem with modifying the mail after reclassification persists, hope 
 this
 can be solved. Then I could also finally move from
 postfix-procmail-bogofilter-cron-dovecot to
 postfix-deliver-antispam-bogofilter-dovecot. :)
 
 Hi,
 
 it's not quite clear to me how this would work with bogofilter as a
 mailbox_transport - bogofilter isn't designed to do final delivery.
 
 It's also not quite clear to me why people would use procmail. Although
 defended by its maintainers, it's an unusable and unconfigurable piece
 of software from ancient past -- getting error handling right in
 procmail is next to impossible, requires forfeiting :e rules and
 bloating procmailrc with explicit error handling recipes.

You're right, and that's why I don't want to continue using it. It had a lot of
security issues, and the syntax of procmailrc looked like a bad joke to me when
I encountered it for the first time.

Not being able to pipe mail through an arbitrary program surely makes sieve
more secure, but it also makes things much more complicated sometimes. Also I
think beginners tend to use procmail, just because in many guides / tutorials /
howtos it's the LDA of choice. (I, for example, started out with this howto:
http://www.gentoo-wiki.info/HOWTO_Email_System_for_the_Home_Network )

 If you want something and Dovecot's deliver doesn't fit your needs,
 consider maildrop, http://www.courier-mta.org/maildrop/

I didn't even know about it until very recently. ;)

 Bogofilter has an integrating-with-postfix document in the doc/
 directory that shows how to use Postfix's content_filter and does not
 need procmail. Unfortunately, it does not show how to integrate updates;
 there are several approaches to achieve that. One way is to use separate
 mailboxes where users can send mail to and where they are picked up by
 cron - best when using Dovecot is probably to make users move spam into
 particular folders via IMAP.

That's how I'm doing it, but surely the Antispam plugin is a nicer (and more
user-friendly) approach - the classification direction (Spam-Ham or Ham-Spam)
is determined by the source and target mailbox.

Patrick.

- --
STAR Software (Shanghai) Co., Ltd.  http://www.star-group.net/
Phone:+86 (21) 3462 7688 x 826   Fax:   +86 (21) 3462 7779

PGP key:  E883A005 https://stshacom1.star-china.net/keys/patrick_nagel.asc
Fingerprint: E09A D65E 855F B334 E5C3 5386 EF23 20FC E883 A005
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFJF/pB7yMg/OiDoAURAmNyAJ9rFGEPU/mylzF9ec+I07sfMo2q6QCgnGbQ
j4SQHfYXV3zt7FNVXDMA+YE=
=qeP/
-END PGP SIGNATURE-


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Matthias Andree
On Mon, 10 Nov 2008, Patrick Nagel wrote:

 Thorsten Vollmer wrote:
  On Sun, 2008-11-09 at 22:39 +0100, Matthias-Christian Ott wrote:
  An other problem is that each mail needs to be initially classified and
  due to the fact that sieve is not able to execute external programmes,
  deliver has to do this task. I'm currently thinking of possibilities to
  implement this, so far I came up with the following:
 
1. Write a generic pipe plugin which can execute an arbitrary number of
   programmes. The problem with this is that I'm not sure how to
   integrate this is in Dovecot's configuration file. I thought of
   something like this: pipe = prg1 | prg2
  
  You do not need a plugin if you do the classification before the
  delivery: MTA | classification | LDA
 
 With postfix, just add bogofilter as transport to master.cf and make it the
 'mailbox_transport'.
 
 The problem with modifying the mail after reclassification persists, hope this
 can be solved. Then I could also finally move from
 postfix-procmail-bogofilter-cron-dovecot to
 postfix-deliver-antispam-bogofilter-dovecot. :)

Hi,

it's not quite clear to me how this would work with bogofilter as a
mailbox_transport - bogofilter isn't designed to do final delivery.

It's also not quite clear to me why people would use procmail. Although
defended by its maintainers, it's an unusable and unconfigurable piece
of software from ancient past -- getting error handling right in
procmail is next to impossible, requires forfeiting :e rules and
bloating procmailrc with explicit error handling recipes.

If you want something and Dovecot's deliver doesn't fit your needs,
consider maildrop, http://www.courier-mta.org/maildrop/

Bogofilter has an integrating-with-postfix document in the doc/
directory that shows how to use Postfix's content_filter and does not
need procmail. Unfortunately, it does not show how to integrate updates;
there are several approaches to achieve that. One way is to use separate
mailboxes where users can send mail to and where they are picked up by
cron - best when using Dovecot is probably to make users move spam into
particular folders via IMAP.

I'm happy to update or add instructions to bogofilter, but may not have
the time to do sufficient RD myself in the near future to obtain
relevant knowledge that I could document myself.

-- 
Matthias Andree


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Matthias Andree
On Mon, 10 Nov 2008, Patrick Nagel wrote:

 Matthias-Christian Ott wrote:
  Patrick Nagel wrote:
  With postfix, just add bogofilter as transport to master.cf and make it the
  'mailbox_transport'.
  
  Does Postfix understand the pipe syntax? If so everything would be fine.
 
 Umm, well, it pipes the mail through the command specified as
 'mail_transport' - don't know if that works with shell script style pipes (|)
 directly - but in any case you could easily create a wrapper shell script.

Postfix's pipe(8) transport runs the command directly rather than
spawning /bin/sh; so it does not support shell expansions such as pipes.

-- 
Matthias Andree


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Patrick Nagel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Matthias-Christian Ott wrote:
 Patrick Nagel wrote:
 With postfix, just add bogofilter as transport to master.cf and make it the
 'mailbox_transport'.
 
 Does Postfix understand the pipe syntax? If so everything would be fine.

Umm, well, it pipes the mail through the command specified as
'mail_transport' - don't know if that works with shell script style pipes (|)
directly - but in any case you could easily create a wrapper shell script.

Patrick.

- --
STAR Software (Shanghai) Co., Ltd.  http://www.star-group.net/
Phone:+86 (21) 3462 7688 x 826   Fax:   +86 (21) 3462 7779

PGP key:  E883A005 https://stshacom1.star-china.net/keys/patrick_nagel.asc
Fingerprint: E09A D65E 855F B334 E5C3 5386 EF23 20FC E883 A005
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFJF/TX7yMg/OiDoAURArRMAJ98wma7/pjbcS7bcUCV1DqMBszUSQCgl4ay
GxESbmr50vW8/OMyZGXqjqY=
=g2O6
-END PGP SIGNATURE-


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Matthias-Christian Ott
Matthias Andree wrote:
 On Mon, 10 Nov 2008, Patrick Nagel wrote:
 
  Thorsten Vollmer wrote:
   On Sun, 2008-11-09 at 22:39 +0100, Matthias-Christian Ott wrote:
   An other problem is that each mail needs to be initially classified and
   due to the fact that sieve is not able to execute external programmes,
   deliver has to do this task. I'm currently thinking of possibilities to
   implement this, so far I came up with the following:
  
 1. Write a generic pipe plugin which can execute an arbitrary number of
programmes. The problem with this is that I'm not sure how to
integrate this is in Dovecot's configuration file. I thought of
something like this: pipe = prg1 | prg2
   
   You do not need a plugin if you do the classification before the
   delivery: MTA | classification | LDA
  
  With postfix, just add bogofilter as transport to master.cf and make it the
  'mailbox_transport'.
  
  The problem with modifying the mail after reclassification persists, hope 
  this
  can be solved. Then I could also finally move from
  postfix-procmail-bogofilter-cron-dovecot to
  postfix-deliver-antispam-bogofilter-dovecot. :)
 
 Hi,
 
 it's not quite clear to me how this would work with bogofilter as a
 mailbox_transport - bogofilter isn't designed to do final delivery.
 
 It's also not quite clear to me why people would use procmail. Although
 defended by its maintainers, it's an unusable and unconfigurable piece
 of software from ancient past -- getting error handling right in
 procmail is next to impossible, requires forfeiting :e rules and
 bloating procmailrc with explicit error handling recipes.

If you haven't puked today, just look at their source code and programming
style. I think the configuration and exit code handling is not the worst
problem in this software.
 
 If you want something and Dovecot's deliver doesn't fit your needs,
 consider maildrop, http://www.courier-mta.org/maildrop/

Looks a bit bloated to me.
 
 Bogofilter has an integrating-with-postfix document in the doc/
 directory that shows how to use Postfix's content_filter and does not
 need procmail. Unfortunately, it does not show how to integrate updates;
 there are several approaches to achieve that. One way is to use separate
 mailboxes where users can send mail to and where they are picked up by
 cron - best when using Dovecot is probably to make users move spam into
 particular folders via IMAP.

I read that document some days ago, but the content_filter approach
looks strange to me, because they use sendmail to reinject the E-Mail
in the queue.

Regards,
Matthias-Christian 


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Matthias-Christian Ott
Patrick Nagel wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Hi Matthias
 
 Matthias Andree wrote:
  On Mon, 10 Nov 2008, Patrick Nagel wrote:
  The problem with modifying the mail after reclassification persists, hope 
  this
  can be solved. Then I could also finally move from
  postfix-procmail-bogofilter-cron-dovecot to
  postfix-deliver-antispam-bogofilter-dovecot. :)
  
  Hi,
  
  it's not quite clear to me how this would work with bogofilter as a
  mailbox_transport - bogofilter isn't designed to do final delivery.
  
  It's also not quite clear to me why people would use procmail. Although
  defended by its maintainers, it's an unusable and unconfigurable piece
  of software from ancient past -- getting error handling right in
  procmail is next to impossible, requires forfeiting :e rules and
  bloating procmailrc with explicit error handling recipes.
 
 You're right, and that's why I don't want to continue using it. It had a lot 
 of
 security issues, and the syntax of procmailrc looked like a bad joke to me 
 when
 I encountered it for the first time.

I think the syntax is not that worse if got a bit used to it. Even this
exitcode issues are just a matter of standardisation. But look at this
(taken from procmail.c):

[...]
int main(argc,argv)int argc;const char*const argv[];
{ register char*chp,*chp2;
#if 0   /* enable this if you want to trace procmail */
  kill(getpid(),SIGSTOP);/*raise(SIGSTOP);*/
#endif
  newid();
  ;{ int presenviron,override;char*fromwhom=0;
 const char*idhint=0;gid_t egid=getegid();
 presenviron=Deliverymode=mailfilter=override=0;
 Openlog(procmailn,LOG_PID,LOG_MAIL); /* for the syslogd */
 if(argc)  /* sanity check, any argument at all? */
  { Deliverymode=!!strncmp(lastdirsep(argv0=argv[0]),procmailn,
 STRLEN(procmailn));
[...]

The whole source code looks like this. I mean, who is supposed to
read this and who wrote this? I don't want to use such software, it's
a nightmare.
 
 Not being able to pipe mail through an arbitrary program surely makes sieve
 more secure, but it also makes things much more complicated sometimes. Also I
 think beginners tend to use procmail, just because in many guides / tutorials 
 /
 howtos it's the LDA of choice. (I, for example, started out with this howto:
 http://www.gentoo-wiki.info/HOWTO_Email_System_for_the_Home_Network )
 
  If you want something and Dovecot's deliver doesn't fit your needs,
  consider maildrop, http://www.courier-mta.org/maildrop/
 
 I didn't even know about it until very recently. ;)

$ aptitude search ~dprocmail
[...]
p   maildrop
- mail delivery agent with filtering abilities
[...]

That's how I found it ;).
 
  Bogofilter has an integrating-with-postfix document in the doc/
  directory that shows how to use Postfix's content_filter and does not
  need procmail. Unfortunately, it does not show how to integrate updates;
  there are several approaches to achieve that. One way is to use separate
  mailboxes where users can send mail to and where they are picked up by
  cron - best when using Dovecot is probably to make users move spam into
  particular folders via IMAP.
 
 That's how I'm doing it, but surely the Antispam plugin is a nicer (and more
 user-friendly) approach - the classification direction (Spam-Ham or 
 Ham-Spam)
 is determined by the source and target mailbox.

You could simply run the cron on your SPAM folder and also delete old
spam mail during that run. That's how I initially planned it.
 
 Patrick.

Regards,
Matthias-Christian


Re: [Dovecot] Dovecot and Bogofilter

2008-11-10 Thread Matthias Andree
On Mon, 10 Nov 2008, Matthias-Christian Ott wrote:

  it's not quite clear to me how this would work with bogofilter as a
  mailbox_transport - bogofilter isn't designed to do final delivery.
  
  It's also not quite clear to me why people would use procmail. Although
  defended by its maintainers, it's an unusable and unconfigurable piece
  of software from ancient past -- getting error handling right in
  procmail is next to impossible, requires forfeiting :e rules and
  bloating procmailrc with explicit error handling recipes.
 
 If you haven't puked today, just look at their source code and programming
 style. I think the configuration and exit code handling is not the worst
 problem in this software.

I know that I don't want to read that code. It looks like something in
between a dirty C tricks to squeeze the final cycle from compilers that
predate even peephole optimization and a submission to obfuscated C
contest. User interface? Fallthrough behaviour on delivery errors?
Nevermind how randomly mail is spread across your mailboxen :-)

  If you want something and Dovecot's deliver doesn't fit your needs,
  consider maildrop, http://www.courier-mta.org/maildrop/
 
 Looks a bit bloated to me.

Nevermind the bloated build, it works like a charm and has a rather
concise source (if you read a bit of C++, that is).

  Bogofilter has an integrating-with-postfix document in the doc/
  directory that shows how to use Postfix's content_filter and does not
  need procmail. Unfortunately, it does not show how to integrate updates;
  there are several approaches to achieve that. One way is to use separate
  mailboxes where users can send mail to and where they are picked up by
  cron - best when using Dovecot is probably to make users move spam into
  particular folders via IMAP.
 
 I read that document some days ago, but the content_filter approach
 looks strange to me, because they use sendmail to reinject the E-Mail
 in the queue.

Well, I co-authored that document, but it's just a refined version of
the Simple Content Filter as per Postfix's FILTER_README... check
http://www.postfix.org/FILTER_README.html#simple_filter

Postfix's content_filter=... setting diverts the mail from regular
routing, and the sendmail command (without -t!) reinjects with original
headers and recipients (from envelope) for then regular routing.

Looks scary to some, but works.

BTDT, although I've moved on to amavisd-new since. Saves the hassle of
training spamfilters with virucide fodder...

-- 
Matthias Andree


[Dovecot] Dovecot and Bogofilter

2008-11-09 Thread Matthias-Christian Ott
Hi,
on my small Xen-virtualised server with 48 MiB RAM I use Postfix and
Dovecot, because the Debian administrators dislike qmail [1], which is in
my opinion despite some maintainability and code quality issues a quite
well designed software, because it mostly follows the UNIX principles.

Postfix is not able to sort my E-Mail into different Maildir folders and
after I looked at procmail's source code, I decided to use Dovecot's LDA,
because it supports sieve via a plugin.

All in all it worked after some tweaking and Dovecot is now responsible
for authentication and delivery.

Furthermore I want to setup a spam filter and due to the memory
constraints I decided in favour of bogofilter (I made no real world tests,
but the authors claim that it's fast and has a small memory footprint).

My first idea was train bogofilter via a cronjob that runs bogofilter
for each E-Mail in my spam folder and deletes them afterwards.  Then I
stumbled upon the dovecot antispam [2] plugin and quickly wrote a backend
for bogofilter. During the development I realised that bogofilter has
to update the X-Bogosity header of the reclassified E-Mails. Johannes
Berg told me that he wasn't sure whether dovecot would be able to do
this and recommended to ask this on the mailing list.

An other problem is that each mail needs to be initially classified and
due to the fact that sieve is not able to execute external programmes,
deliver has to do this task. I'm currently thinking of possibilities to
implement this, so far I came up with the following:

  1. Write a generic pipe plugin which can execute an arbitrary number of
 programmes. The problem with this is that I'm not sure how to
 integrate this is in Dovecot's configuration file. I thought of
 something like this: pipe = prg1 | prg2
 
  2. Write a bogofilter-specific plugin for this.

Anyhow I would like to take this opportunity to criticise Dovecot
for being a bloated (unnecessary abstractions, verbose, pseudo
object-oriented, ...), non-suckless [3] and non-unixish (plugin
architecture, monolithic design, ...) software which in return works
quite well and stable so far.

I appreciate any suggestions, ideas or criticism. I would really like
to finish configuring my mail server as soon as possible.

Regards,
Matthias-Christian

[1] http://smarden.org/pape/Debian/1215531259.4854_332.werc
[2] http://johannes.sipsolutions.net/Projects/dovecot-antispam
[3] http://www.suckless.org/common/


Re: [Dovecot] Dovecot and Bogofilter

2008-11-09 Thread Thorsten Vollmer
On Sun, 2008-11-09 at 22:39 +0100, Matthias-Christian Ott wrote:
 An other problem is that each mail needs to be initially classified and
 due to the fact that sieve is not able to execute external programmes,
 deliver has to do this task. I'm currently thinking of possibilities to
 implement this, so far I came up with the following:
 
   1. Write a generic pipe plugin which can execute an arbitrary number of
  programmes. The problem with this is that I'm not sure how to
  integrate this is in Dovecot's configuration file. I thought of
  something like this: pipe = prg1 | prg2

You do not need a plugin if you do the classification before the
delivery: MTA | classification | LDA

Would that be an option?

Regards,
Thorsten



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Dovecot and Bogofilter

2008-11-09 Thread Matthias-Christian Ott
Patrick Nagel wrote:
 Thorsten Vollmer wrote:
  On Sun, 2008-11-09 at 22:39 +0100, Matthias-Christian Ott wrote:
  An other problem is that each mail needs to be initially classified and
  due to the fact that sieve is not able to execute external programmes,
  deliver has to do this task. I'm currently thinking of possibilities to
  implement this, so far I came up with the following:
 
1. Write a generic pipe plugin which can execute an arbitrary number of
   programmes. The problem with this is that I'm not sure how to
   integrate this is in Dovecot's configuration file. I thought of
   something like this: pipe = prg1 | prg2
  
  You do not need a plugin if you do the classification before the
  delivery: MTA | classification | LDA
 
 With postfix, just add bogofilter as transport to master.cf and make it the
 'mailbox_transport'.

Does Postfix understand the pipe syntax? If so everything would be fine.

Regards,
Matthias-Christian


Re: [Dovecot] Dovecot and Bogofilter

2008-11-09 Thread Patrick Nagel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thorsten Vollmer wrote:
 On Sun, 2008-11-09 at 22:39 +0100, Matthias-Christian Ott wrote:
 An other problem is that each mail needs to be initially classified and
 due to the fact that sieve is not able to execute external programmes,
 deliver has to do this task. I'm currently thinking of possibilities to
 implement this, so far I came up with the following:

   1. Write a generic pipe plugin which can execute an arbitrary number of
  programmes. The problem with this is that I'm not sure how to
  integrate this is in Dovecot's configuration file. I thought of
  something like this: pipe = prg1 | prg2
 
 You do not need a plugin if you do the classification before the
 delivery: MTA | classification | LDA

With postfix, just add bogofilter as transport to master.cf and make it the
'mailbox_transport'.

The problem with modifying the mail after reclassification persists, hope this
can be solved. Then I could also finally move from
postfix-procmail-bogofilter-cron-dovecot to
postfix-deliver-antispam-bogofilter-dovecot. :)

Patrick.

- --
STAR Software (Shanghai) Co., Ltd.  http://www.star-group.net/
Phone:+86 (21) 3462 7688 x 826   Fax:   +86 (21) 3462 7779

PGP key:  E883A005 https://stshacom1.star-china.net/keys/patrick_nagel.asc
Fingerprint: E09A D65E 855F B334 E5C3 5386 EF23 20FC E883 A005
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFJF5Rh7yMg/OiDoAURAkE4AJ4zYh/J4WKCsN/xwGGKA66N3sKNQwCeNDrh
prjS37amcH+vDH1kwyqyDxY=
=f9Rm
-END PGP SIGNATURE-