Greylisting to prevent Spam

Greylisting is a method of blocking significant amounts of spam at the mailserver level. It blocks spam based on the behavior of the sending server, rather than the content of the messages.

What happens is that each time a given mailbox receives an email from an unknown contact (ip), that mail is rejected with a “try again later” message. This, in the short run, means that all mail gets delayed at least until the sender tries again – but this is where spam loses out! Most spam is not sent out using RFC compliant MTAs; the spamming software will not try again later. This process is transparent to the user sending and receiving the message.

This is a very lightweight process. Especially compared to other common spam prevention techniques which read the content of the message or check blacklists. The only disadvantage is this technique will delay email being delivered from unknown contacts.

Most implementations of greylisting only delay a message for a few minutes. They also keep a database with previous email so this delay is only seen the first time a message is received.

In my experience greylisting prevented almost all spam from being delivered to my mailbox.

A list of software that can be used to implement greylisting can be found at:
greylisting.org