views:

138

answers:

4

I want to process a particular mailbox when it receives mail, I know I could have cron check every n minutes for any mail, but wondering if there's a way to "listen" for mail rather than continually polling.

+2  A: 

Try a .forward file

You can pipe the message into any program or script you want, but also check if procmail can do what you want.

finnw
I use procmail for this.
Adam Jaskiewicz
+2  A: 

If you're using postfix I'd suggest aliasing the mailbox you're interested in to a process that will do the work for you. Then there's no polling. The message comes in and goes directly to being processed.

Jason Punyon
+2  A: 

Depending on your mail server, it may be possible to actually have any incoming message be delivered to a process. Either in a .forward or by setting up something more advanced. In exim you can setup a transport to run a command, for certain addresses.

Zoredache
+1  A: 

As Jason and Zoredache have already mentioned, you might be able to do this in the MTA itself. Another possibility is to have inotify watch the mailbox file or maildir.

Paul Tomblin