String parsing bug

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

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 = '';

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

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

             $returnpath = "Return-path: <>\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();

Results in this output:

1: Return-path:
2: Return-path:
3: Return-path:
4: Return-path:
6: Return-path: []

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?

Re: String parsing bug

ooba gooba wrote:
Quoted text here. Click to load it

I highly doubt it.
Browsers usually hide everything in beteween the <>.
Look at the source of the page, and probably all data is there like it
should be.

If you're curious what headers are sent, send yourself an email, and check
it's headers. Don't try to emulate them in a browser. Aside from the fact
that a browser has got his own logic you can't trace the path/possible
added headers by either your or another server.

Rik Wasmus

Re: String parsing bug

Doh.  You're right.  It still doesn't explain why the return-path header  
doesn't appear in the received email.  <sigh>

Thanks, Rik.

Rik wrote:
Quoted text here. Click to load it

Re: String parsing bug

Quoted text here. Click to load it

  Have you tried it without the < > in the string? Although I use 'Reply-to:' instead of Return-path...


Site Timeline