Greetings,
Anyone know of a good way to send an email to my postfix server which then opens a PHP script to process this email? I could do cron, but I\'d prefer to do it
When setting up something like this, you have 2 options. You can either pipe mail out to a php handler, which is a little dangerous if you have to process a lot of mail at once, or you get mailbombed. Like @B Mitch said, a .forward file will do the trick.
myemail@example.com,"|/our/script.php"
Alternatively, can you use something like Zend_Mail_Storage
to connect to a mailbox as if it were a client. Zend also supplies some useful helpers for parsing mail.
There are several options; the easiest being to use a .forward file containing: |/path/to/your/script in the $HOME of your user.
Drawback: It's invoked once per mail Advantage: It's called with exactly one recipient and many parameters are passed using environment variables.
You may be able to use a .forward, but probably the easiest way is to configure procmail.
Edit: here's a sample .procmailrc rule that may help:
:0 w
* ^From.*authorized@example.com
| php /path/to/script.php
If the email comes from authorized@example.com, then it will get passed to the php script. Since this is done from procmail which can be integrated with the mail server, the MySql setup shouldn't impact anything.