I think I have it. (I have not fully tested because my 3-day-old test system has been through a bunch of things that did not work… including a postfwd install and some changes to the postfix configs, non of which seemed to have resulted in any change to mail delivery at all. So this will need to be tested on an actual out-of-the-box Virtualmin to confirm for sure.)
If, in this file:
/etc/milter-greylist/greylist.conf
I add:
noauth
on a line by itself…I think that can go anywhere but for posterity I added mine right here:
# List of users that want greylisting
list "grey users" rcpt { \
user1@example.com \
user2@example.com \
user3@example.com \
}
noauth
# Give this a try if you enabled DNSRBL
(etc)
And stop and start the milter-greylist:
systemctl stop milter-greylist
systemctl start milter-greylist
It seems to obey my rate-limit settings.
Without that (and, I think this doesn’t matter but for posterity I had ronetest@newestistotest.com replacing user1@example.com at the time that I was messing with this) I would get:
2024-10-31T15:39:13.889351+00:00 xmail2 milter-greylist: User ronetest@newestisotest.com authenticated, bypassing greylisting
In mail.log, and with it I do not, and eventually get:
2024-10-31T15:57:06.573136+00:00 xmail2 milter-greylist: ratelimit overflow for class domain_173023091362546: 3, limit is 2 recipients / 3600 sec, key = “#.#.#.#”
(The numbers being my IP.). As well as the “Message quota exceeded” message that I expected.
It is worth mentioning that somewhere along the way I also did:
touch /var/lib/milter-greylist/greylist.db
chown greylist:greylist /var/lib/milter-greylist/greylist.db
chmod 600 /var/lib/milter-greylist/greylist.db
Since I saw a reference to that file in a log but saw no such file in the directory… I thought maybe it stored the message counts but it remains 0k so might not be needed at all.
Also it is very worth noting that I have no idea the consequences of adding noauth other than that mail rate limiting starts working. I take noauth to mean “enforce all of these rules even if you are authenticated” which might break something else. I tried every iteration of “racl greylist list “grey users” delay 30m autowhite 3d noauth” possible, but putting noauth anywhere but on a line by itself results in a syntax error when restarting milter-greylist.
I don’t know which of the several folks who sometimes respond to my posts work at Virtualmin (probably all of you) @Joe and @Ilia have specifically said things that indicate that they do (I think I remember). I am not sure if adding them with the “@” sign flags them, but it seems that someone who works at Virtualmin might should review this.
Ron