
On Wed, Mar 14, 2012 at 02:04:12AM +0000, James Harper wrote:
On 14/03/12 12:32, James Harper wrote:
Jason White wrote:
Mike Fabre <mike+luv@fabre.id.au> wrote:
Hi, I have a postfix & dovecot server set up, and I have been given the task of making it put a arbitrary 5-10 minute delay for every email that comes through, whether it be for sent mail or received mail doesn't matter. Are you sure you have to reinvent what is already available? You could install Postgrey, which (based on reports from friends who use it) can be very effective. Some background: the users are malicious; and are leveraging high speed of modern email as a substitute for SMS (which they are not allowed). The obvious solution is to artificially delay all mail for (say) fifteen minutes. This is hoped to reduce the enormous quantity of one-line messages like "hi F, how r u" and "im ok, u". Sigh. Users. Our jobs would be a lot easier without them.
Under Exim I would set up dual spool directories, so incoming email gets dumped in Q1, but only Q2 is processed for delivery automatically. A cron job would run every few minutes and move spool files older than 5 minutes from Q1 to Q2. Maybe you can do something similar with postfix?
I am currently looking into a strategy like this. Postfix has a hold queue which seems to be able to do this, but our custom filter set-up seems to have gotten in the way of that.
I don't think the greylist solution is the right one. You still want your server to receive the email... forcing a retry could introduce a much larger delay than you want.
Have you considered charging the users department for excessive emails? ;)
What if you do really have a legitimate need to have an email sent as quickly as possible? What happens then? (For example: you are talking to someone on the phone and want a feedback on a doc while on the phone, you could legitimately want to send the doc to the person as quickly as possible). I think its a case of barking the wrong tree here.
I seldom point out the fallacy of a technical workaround to a social problem these days. I assume the OP has already thought this thing through and has already had this argument with the person who gave the instruction. The whole thing sounds like a megalomaniac manager trying to run an office like a battery hen egg farm, which never works unless your employees enjoy being treated like crap.
Unless it's a school or university of course, and the users in question are students, which was my original assumption. Then you should indeed try and make their lives as difficult as possible! <evil grin>
This is the kind of environment it is for, so teaching users, and any other social fixes won't work. -- Mike Fabre