Fix greylisting
I really like the new look and feel of the iX version. Great work.
One thing that I still miss is properly working greylisting. It now uses a the IP of the sender. In practice this leads to a lot of e-mails not coming trhough as large providers have multiple mail-servers with more addresses. So this should be more configurable.
-
Andrey commented
greylist also not correctly fulfills with local addresses,
if users in a local network send mail to other user in the same local network at the included greylist, mail is sent not at once. -
M Dovey commented
This is how most greylist filters work (for example milter_greylist):
There is a permanent whitelist of ip address\ranges
There is a temporary whitelist of ip address, sender, recipient, date\time last e-mail received
There is a pending list of ip address, sender, recipient, date\time first e-mail attempt
When a host connects to send an e-mail, first it is checked if it is on the permanent whitelist, if it is, then the e-mail is accepted.
If not, it is checked if the sending host ip, sender and recipient is on the temporary whitelist, if it is the e-mail is accepted and the datetime stamp of last received e-mail is updated.
If not, the pending list is checked: if the host ip, sender and recipient is in the pending list, and the datetime state of the first attempt is at least x minutes ago (the value of x should be configurable but typically would be between 3 and 5), the e-mail is accepted, and the host, sender, recipient and date\time is added to the temporary whitelist, and removed from the pending list.
Otherwise, the e-mail is temporarily rejected, and if the host, sender, recipient is not in the pending list, it is added to the pending list.
Periodically, the pending list is purged of any entries older than a time which can be configured (typically 12-24 hours)
Periodically, the temporary whitelist is purged of any entries older than a time which can be configured (typically 28-56 days)
-
M Dovey commented
The greylisting implementation has never worked properly. I current use milter_greylist through the axigen milter support.