Reputation: 10022
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,
Upvotes: 2
Views: 2759
Reputation: 541
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.
Upvotes: 0
Reputation: 265140
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.*[email protected]
| php /path/to/script.php
If the email comes from [email protected], 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.
Upvotes: 3
Reputation: 12010
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.
[email protected],"|/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.
Upvotes: 1