(I've asked this on the postfix group, too, but so far no response, so
I'm trying here as well.)

tl;dr: I can't get spamd/spamc talking together, using the
virtual-config-dir option, when using spamassassin and postfix together,
via spamass-milter.

Full problem:

I'm using spamassassin together with postfix, as a milter. This is
Ubuntu 14.04, standard packages.

I was keeping a single Bayesian database for all users, but would like
to move to per-user databases. So I'm supposed to edit
/etc/default/spamassassin and add the --virtual-config-dir, like this:

OPTIONS="-x --create-prefs --max-children 5 --helper-home-dir
--virtual-config-dir=/var/lib/spamassassin/%d/%l/spamassassin
-u debian-spamd -g debian-spamd
--socketpath=/var/spool/postfix/spamassassin/spamd.sock
--socketowner=debian-spamd --socketgroup=debian-spamd --socketmode=0660"

But in order to make this work, spamc has to pass the current user to
spamd, using the "-u" option, so spamd knows where to get the config and
store the databases. So I look at /etc/default/spamass-milter, where the
OPTIONS line looks like this:

OPTIONS="-u spamass-milter -i 127.0.0.1 -m -I --
--socket /var/spool/postfix/spamassassin/spamd.sock"

My understanding is that everything after the "--" gets passed right to
spamc as an argument. So you'd think that would be the place to put the
"-u" option in.

I don't know how to do that, though! It seems like milter macros should
be involved. In /etc/postfix/main.cf I've got:

milter_connect_macros = j {daemon_name} v {if_name} {mail_addr} _

I would think that {mail_addr} is probably the right value to be using
with "-u". But no matter how I edit the OPTIONS line in
/etc/default/spamass-milter, no matter what I put in there, I just get
the error about using an unrecognized sendmail macro "{i}".

Can anyone tell me how to pass this argument to the milter?

Thanks!
Eric



Reply via email to