On 11/08/2010 06:43 PM, Bruno Costacurta wrote:

Why procmail is not executed ? Is there some priority or dependencies
for mailbox_command execution ?

Yes: the mail has to be delivered to a mailbox.
You are delivering mail to spamassassin.

You confused me : spamassassin leaves the messages for local delivery via /usr/local/sbin/sendmail -i "$@"

Yes, I did.
However, you did not provide your entire flow setup, so it was not completely transparent to me that you were using spamassassin as a content_filter. You did show logs that show spamassassin is processing the mail, but I never saw the config for re-injection, so there was no reason to suppose that procmail was ever getting hit.

And indeed everything works fine except the missing filtering via Procmail.
(note : I'm using virtual users).

I know, that's why it doesn't work.
Virtual mailboxes can not run commands, as I already indicated.


More generally, is mailbox_command mandatory ?

No, it's not mandatory.
It is empty by default.

Can I replace it using in master.cf a syntax like following :

smtp   inet  n - n  -  -  smtpd -o content_filter=procmail:filter

where procmail service will call, via shell script, spamassassing before doing its filtering, and do I can avoid the need of mailbox_command.

No, procmail is not a "service".
You have to create one and then deliver to it:

myprocmail unix - n n - - - pipe user=your.virtual.user argv=procmail -a $RECIPIENT -a $EXTENSION [-a $MORE_VARS...]

And then either set the virtual_transport to myprocmail or use transport_maps for more granular control.

NOTE that procmail MUST deliver the message in this case!
If the message "falls out the bottom" of your recipe, it's GORN.

--
J.

Reply via email to