Here's a really simple solution to simple greylisting. Define 3 MX
records. Point the lowest and highest to dead IP addresses. Only the
middle one works. It will delay normal email about 30 seconds to one
minute when the MTA times out on the lowest MX. Requires no coding at all.