wOn 13.03.25 09:34, Karl Denninger wrote:
I'm sure this has come up before but I don't see a way to do it in the
docs or Wiki.
I have a number of "role" accounts that, in some cases, get email from
more than one domain. All are considered "local" by my postfix and
dovecot config, thus all the mail from those domains gets dumped into
the user account related to same, with the "role" accounts in the
/etc/aliases file.
For example, I have an "editor" user that is not really a user, but is
in the aliases file to this account, and said "editor" address is
valid not only for denninger.net, but also for a couple of other
domains that I run a web property for on behalf of someone else.
If someone spams that "editor" user Spamassassin will use its built-in
rules -- but it does /not /honor the Bayesian classifier training that
my account ("karl") has, and so if I put a spam that got through in
"Junk" while the classifier will do its job if someone spams
"k...@denninger.net" later with that same classified content /it won't
look at the classifier data all for a future email that comes to
"edi...@denninger.net."/
If you use spamd, it tries to use user (provided by spamc client) and its
home directory used for bayes database etc.
...unless you call spamd with "-u user", then it always uses that user.
You can specify "-U username" to use as default user if provided does not
exist.
spamass-milter by default passes recipient user e.g. "editor" to spamd.
Further it supports "-x" option to pass user to "sendmail -bv" which can be
used for alias expansion, but this only works with "sendmail" MTA.
Postfix' sendmail works differently, but you can provide spamass-milter with
program/script doing the same with "-S /path/to/sendmail", if you have any.
(I don't, so far)
This helps me much, the only problem currently is if there is (system) user
with the same name as recipient.
This behavior isn't surprising because postfix consults /etc/aliases
during local delivery -- so it would appear that I need to be able to
tell SpamAssassin about said aliases somehow, lest it think the bayes
classifier is unique to each of those aliased addresses and since they
have no separate "junk" and "not junk" folders it never gets trained.
I do not want to set up separate mailboxes for each of these (there
are quite a few) and maintain all the different bayes databases for
each -- what I want to direct Spamasssin to do is, for certain target
users, honor the bayes database for the ultimate target. I don't mind
setting that up explicitly (since I have to put said role accounts in
/etc/aliases anyway) but there doesn't appear to be a way to do this,
thus the bayes filter, which is one of the most-useful in terms of
"learning" what you say "is" and "is not" spam over time, doesn't
appear to have a way to be applied to said role accounts.
In postfix master.cf I have the following directive which calls the
spamassassin-provided "spamchk" script:
# Spam Assassin
spamchk unix - n n - 10 pipe
flags=Rq user=spamd argv=/usr/local/bin/spamchk ${user} -f
${sender} --
${recipient}
And it is called from the smtp line in master.cf with:
smtp inet n - n - - smtpd
-o smtpd_sasl_auth_enable=no -o content_filter=spamchk:dummy
There are some other comments around the web that appear to imply the
aliases are applied /first /before this gets run but that is not what
I'm seeing.
Am I missing a directive somewhere?
--
Matus UHLAR - fantomas, uh...@fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
The only substitute for good manners is fast reflexes.