I'm working on an application that is backed by Postfix 2.3.8 and Dovecot 1.0.13, configured with virtual domains, for handling messaging.

I need to be able to send the notification (such as "You've received a new message on SomeAwesomeService. Click here to check it out", It's evil, I know) to a different email address, such as a mobile device. Eventually, we want to do other things like clear web page caches when a message is received, or sending IM notifications, but that's for another day.

So basically, we want to notify our application whenever a new mail is received, and it can do all the magical things that it needs to do.

I was hoping to get some feedback on the different approaches I'm looking at. From what I can tell, there's not a way to deliver to multiple virtual transports in postfix, so here's the options I see:

* Content filter
I could set up a "content filter" that just delivers the mail to the application, and then re-injects it back into postfix. This seems like more work than the other options just because I have to worry about re- injecting the message

* Intercept delivery
Replace the dovecot deliver command with a custom one that calls the dovecot deliver and then passes the message on to the application. I've written a little proof of concept for this and it seems to work, but just seem shady.

* Sieve
Dovecot supports Sieve, so I could just have a global sieve script that sends the notifications. This is definitely the solution I'm leaning towards.

Are there any better options? Do you think this will have a significant impact on performance? Am I crazy?

Thanks,
Brandon

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to