View Single Post

  #1 (permalink)  
Old 09-11-2006
ooba gooba
 
Posts: n/a
Default String parsing bug

Hi,

I'm trying to track down why some recipients of our emails never receive
them. These emails are sent from a PHP script which uses the 3rd party
phpmailer class. The possible cause for the email problem is that the
email headers have an invalid "Return-path". This is due to an apparent
bug in PHP, which I have replicated as follows:

The following code:

class Bug
{
var $From = 'address@domain.com';

function Test()
{
echo "FROM=[$this->From]<br>";

$returnpath = "Return-path: <$this->From>\n";
echo "1: $returnpath<br>";

$returnpath = "Return-path: <{$this->From}>\n";
echo "2: $returnpath<br>";

$returnpath = 'Return-path: <'.$this->From.">\n";
echo "3: $returnpath<br>";

$returnpath = 'Return-path: '.'<'.$this->From.">\n";
echo "4: $returnpath<br>";

$returnpath = 'Return-path: <['.$this->From."]>\n";
echo "5: $returnpath<br>";

$returnpath = "Return-path: [$this->From]\n";
echo "6: $returnpath<br>";
}
}

$instance = new Bug();
$instance->Test();

Results in this output:

FROM=[address@domain.com]
1: Return-path:
2: Return-path:
3: Return-path:
4: Return-path:
5: Return-path: <[address@domain.com]>
6: Return-path: [address@domain.com]

It appears that everything after the < character in the string is
getting truncated. I have so far been unable to generate a valid
Return-path string. My web host is using PHP 4.4.2. I have attached a
sample PHP file that replicates this bug. Does anyone know if this bug
still exists in 4.4.4?
Reply With Quote