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 instantly...
Any pointers greatly appreciated.
Many thanks in advance,
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.
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.
来源:https://stackoverflow.com/questions/4964600/postfix-send-email-to-php