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: somemailaddress@xxxxxxxxx\n\n"); > 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