Re: How to get incoming emails captured by PHP ?
| From: | Adrian | Date: | Wed, 10 May 2006 15:20:04 +0000 |
| Subject: | Re: How to get incoming emails captured by PHP ? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-235905@lists.php.net to get a copy of this message | ||
Hi John
Thank you, I have just got it working now, will look into the different ways you suggested.
Adrian wrote:
> Hi All
>
>
>
> I have been trying to have PHP capture incoming emails sent to a specific
> email account and have not been able to achieve this, I have searched high
> and low on the internet and the same article
> (
> <http://www.evolt.org/article/Incoming_Mail_and_PHP/18/27914/index.html>
> http://www.evolt.org/article/Incoming_Mail_and_PHP/18/27914/index.html)
> is
> plastered everywhere I have done everything it says, and still no joy,
>
>
>
> When I send an email to be captured I receive this bounce back email when
> sending an email to ade@domain.com (see below)
>
>
>
> Can any one let a hand?
>
>
>
> Bounce back email:
>
> --------------------------------------------------
>
> ----- The following addresses had permanent fatal errors -----
>
> |/wwwroot/www.domain.com/ade/email.php
>
> (reason: 255)
>
> (expanded from: <ade@domain.com>)
>
>
>
> ----- Transcript of session follows -----
>
> Status: 404
>
> Content-type: text/html
>
> X-Powered-By: PHP/4.3.11
>
>
>
> No input file specified.
>
> 554 5.3.0 unknown mailer error 255
>
> Content-type: text/html
>
> X-Powered-By: PHP/4.3.11
>
> --------------------------------------------------
>
>
>
> Here is how I have everything setup.
>
>
>
> I have my aliases file set up with the line: ade: |/usr/bin/php,
> |/wwwroot/www.domain.com/ade/email.php
Why are you passing it to the php binary? Pass it directly to your
script (make sure it's executable). For shits and giggles, do a 'which
php' at the command line to make sure the binary is in /usr/bin.
> (The path to my PHP is correct)
>
>
>
> And the script it calls (email.php) the code is:
>
>
>
> #!/usr/bin/php
>
> <?php
>
> $fd = fopen("php://stdin", "r");
There's also an easier way to do this. Check the manual:
<http://us2.php.net/manual/en/features.commandline.php>
http://us2.php.net/manual/en/features.commandline.php
>
> $email = "";
>
> while (!feof($fd)) {
>
> $email .= fread($fd, 1024);
>
> }
> fclose($fd);
>
> ?>
--
John C. Nichel IV
Programmer/System Admin (ܢerGeek)
Dot Com Holdings of Buffalo
716.856.9675
jnichel@dotcomholdingsofbuffalo.com