![]() |
|
|
| Subject:
Piping in Postfix
Category: Computers > Internet Asked by: tarabyte7-ga List Price: $2.00 |
Posted:
30 Aug 2005 23:49 PDT
Expires: 29 Sep 2005 23:49 PDT Question ID: 562518 |
Hello, I need to find out how to set up piping in Postfix. More specifically, I want to send email to a virtual domain email address, and then have it pipe the message into a PHP script for parsing. The message does not need to exist past the piping procedure. Right now it is so I can use Kayako's eSupport software, but also I want to simply be able to parse some information from an email using PHP and store it in Mysql (The parsing part is no problem; the piping is where it is difficult) thanks, Tara |
|
| There is no answer at this time. |
|
| Subject:
Re: Piping in Postfix
From: techtonix-ga on 31 Aug 2005 02:02 PDT |
AFAIK you need to alter your master.cf configuration to include your
PHP script as a filter in postfix which serves your virtual domain
email. That is:
/etc/postfix/master.cf:
# =============================================================
# service type private unpriv chroot wakeup maxproc command
# (yes) (yes) (yes) (never) (100)
# =============================================================
filter unix - n n - 1 pipe
flags=Rq user=filter argv=/path/to/script.php ${sender} ${recipient}
Make sure your script has #!/bin/php as first line and execution rights bit set.
For full list of options to pipe method see http://www.postfix.org/pipe.8.html |
| Subject:
Re: Piping in Postfix
From: tarabyte7-ga on 31 Aug 2005 02:10 PDT |
Thanks for the info... How would I make it specific for just one virtual domain email address though? ~ Tara ~ |
| Subject:
Re: Piping in Postfix
From: techtonix-ga on 31 Aug 2005 06:16 PDT |
You can try to:
1. In your /etc/postfix/main.cf add
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_recipient_access hash:/etc/postfix/check_to
2. Create file /etc/postfix/check_to with the following content
forphpiping@domain.org FILTER:filter
3. Note "FILTER:filter" in the file above - name "filter" denotes
string in your /etc/postfix/master.sf supplied in my previous post.
Should work ok - just change forphpiping@domain.org to your expected
address for piping. I suppose you've already read that page on how to
create the filter http://www.postfix.org/FILTER_README.html since the
parsing is not a problem for you. =) |
| Subject:
Re: Piping in Postfix
From: tarabyte7-ga on 31 Aug 2005 13:40 PDT |
I have tried this and it isn't working...
for virtual_mailbox_maps I'm using /etc/postfix/vmailbox
for virtual_alias_maps I'm using /etc/postfix/virtual
In my vmailbox, I have the following:
test@mynetmarketingsupport.com /dev/null
In my master.cf, I have:
helpdesk unix - n n - 1 pipe
flags=Rq user=root argv=/web/helpdesk/cli/index.php ${sender} ${recipient}
In my check_to I have:
test@mynetmarketingsupport.com FILTER:helpdesk
I of course added the entry you specified into the main.cf...
Here is the excerpt from my mail logs:
Aug 31 13:42:46 tarabyte postfix/smtpd[25099]: connect from
fed1rmmtao02.cox.net[68.230.241.37]
Aug 31 13:42:46 tarabyte postfix/smtpd[25099]: warning: SMTPD access
map hash:/etc/postfix/check_to has entry with lookup table:
FILTER:helpdesk
Aug 31 13:42:46 tarabyte postfix/smtpd[25099]: warning: do not specify
lookup tables inside SMTPD access maps
Aug 31 13:42:46 tarabyte postfix/smtpd[25099]: warning: define a
restriction class and specify its name instead.
Aug 31 13:42:46 tarabyte postfix/smtpd[25099]: NOQUEUE: reject: RCPT
from fed1rmmtao02.cox.net[68.230.241.37]: 451 Server configuration
error; from=<tara@livecreations.com>
to=<test@mynetmarketingsupport.com> proto=ESMTP
helo=<fed1rmmtao02.cox.net>
Any clue what is going on?
thanks,
Tara |
| Subject:
Re: Piping in Postfix
From: techtonix-ga on 03 Sep 2005 01:32 PDT |
Indeed, Postfix need to preload lookup table. BTW, which version do you use? Add this to master.cf: ----------- smtpd_restriction_classes = incoming_php_filter incoming_php_filter = FILTER:helpdesk ----------- and change /etc/postfix/check_to to test@mynetmarketingsupport.com incoming_php_filter |
| Subject:
Re: Piping in Postfix
From: techtonix-ga on 03 Sep 2005 02:49 PDT |
There seems to be another way to do the same thing without filters. Define local adress in /etc/aliases to process email with your script and redirect your virtual mail to it. The sequence is as follows: 1. /etc/aliases yourtest: "|/web/helpdesk/cli/index.php" 2. /etc/postfix/virtual test@mynetmarketingsupport.com yourtest |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
| Search Google Answers for |
| Google Home - Answers FAQ - Terms of Service - Privacy Policy |