Eamorr
Eamorr

Reputation: 10022

Postfix: Send email to PHP

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

Answers (3)

Ralf Hildebrandt
Ralf Hildebrandt

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

BMitch
BMitch

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

Chris Henry
Chris Henry

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

Related Questions