(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