On Wed, 02 Nov 2005 10:38:15 +0100, max wrote:

>> In this case are you sure that the file is being sent via proc_open()?
>> can you provide a simplified script that does this?
> 
> Sure, here's a test script, the output from it, and a few words on the
> email I receive:
> <?php
>   $descriptorspec = array(
>     0 => array("pipe", "r"),
>     1 => array("pipe", "w"),
>     2 => array("file", "/tmp/error-output.txt", "a")
>   );
>   $text = "";
>   for ($i=0; $i<10240; $i++) $text.="1"; $text.="END\n";
>   $doccmd = "/usr/bin/qmail-inject";
>   $res = proc_open ($doccmd, $descriptorspec, $pipes); 
>   fwrite ($pipes[0],"TO: [EMAIL PROTECTED]"); 
>   echo fwrite ($pipes[0], $text)."\n";
>   echo fwrite ($pipes[0], $text)."\n";
>   fclose ($pipes[0]);
> ?>
> 
>   The output is:
> 10244
> 6109
> 
>   Now, that's not counting the first TO: plus two \n's. Altogether it
>   always
> sums up to 16384 bytes.
> 
>   In the email I receive, it honestly shows exactly the amount of data
> fwrite() claimed to have written, and not a symbol more.

My guess is that qmail-inject has a limitation on the line length
that it can use.  A couple tests I can suggest:

  1. try to seperate the string with some line endings so the line sent
  isnt over 16kb.

  2. try to proc_open a transparent application that doesn't do any sort
  sort of parsing.  like '/bin/cat'  and see what the output is.


HTH,

Curt.
-- 
http://news.zirzow.dyndns.org/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to