Whenever I send an email to my catchall alias via SSH (i.e., locally), Exim successfully pipes the e-mail to a PHP script, as I told it to do. However, when I try to send an e-mail to my catchall alias via my e-mail client (i.e., remotely), Exim won't pipe the e-mail. Any ideas?

link|improve this question
Your exim logs should show activity, errors, that sort of thing. It's quite likely to be helpful. – womble Jul 10 '11 at 11:37
feedback

2 Answers

If you can cleanup and post your exim.conf I can probably tell you. W/o seeing that, my best guess is that your router configuration isn't sending the email coming in from a remote server to the pipe_transport. Examine your routers. Run exim with the command "exim -bh " and watch the output. It should tell you what the config is telling it to do.

link|improve this answer
Exim Configuration File: ysend.com/exim.txt The pipe_transport is set... I have already done an exim -bh and everything looks OK. It says it is supposed to be piping it to the PHP script (which it does do locally; it's just remotely that's the problem). – John Jun 27 '09 at 15:02
You're calling this pipe out of an entry in /etc/aliases? Are you certain it's not executing the script at all, or is the script just not functioning properly when called by exim? (I'd temporarily replace the script with something that will, say, print a test message. Assuming exim actually runs the script, you'll get a bounce message back from exim, proving that the script ran.) – Evan Anderson Jun 29 '09 at 13:48
feedback

When you deliver via ssh, are you using sudo, or are you root, or is your local account an administrator? Does the user exim runs as have permission to run the php script?

link|improve this answer
I am SSH'ing as root. I chmodded the PHP script to 755 (+x). The script works locally, so it should have permission. – John Jun 27 '09 at 19:07
feedback

Your Answer

 
or
required, but never shown