Re: [PEAR-BUG] Bug #9507 [Opn->Fbk]: Envelope FROM isn't decoded properly
[email protected] (David Ford)
| Newsgroups | php.pear.qa |
|---|---|
| Message-ID | <[email protected]> |
to whomever in QA, i'm getting a syntax error when trying to post a comment to a bug.
ERROR:
* DB Error: syntax error
the comment data is:
edit |2|
id |9507|
in[bug_type] |Bug|
in[email]
in[package_name] |Mail_mimeDecode|
in[package_version] |1.3.1|
in[php_os] |Linux|
in[php_version] |5.1.6|
in[sdesc] |Envelope FROM isn't decoded properly|
in[status] |Open|
ncomment |is there something missing from my original test case that you need? the original test case shows that|| the envelope from header is not parsed. instead of "from" => " - Tue Nov 28 23:42:23 2006", it is incorrectly|| set to "from - tue nov 28 23" => "42:23 2006" || ||in other words, it splits on the first colon instead of the space. || ||please also see: http://en.wikipedia.org/wiki/Envelope_sender, which details several synonyms for this|| term and explains it in some detail. the header is required for proper bounce handling and really should|| be properly supported in mail handling classes :)|
On 09/02/10 09:32, PEARBug Database wrote:
> ATTENTION! Do NOT reply to this email!
> To reply, use the web interface found at
> http://pear.php.net/bugs/bug.php?id=9507&edit=2
>
>
> ID: 9507
> Updated by: [email protected]
> Reported By: david at blue-labs dot org
> Summary: Envelope FROM isn't decoded properly
> -Status: Open
> +Status: Feedback
> Type: Bug
> Package: Mail_mimeDecode
> Operating System: Linux
> Package Version: 1.3.1
> PHP Version: 5.1.6
> Roadmap Versions:
> New Comment:
>
> -Status: Open
> +Status: Feedback
> needs simple test case.
>
>
> Previous Comments:
> ------------------------------------------------------------------------
>
> [2006-12-16 11:50:46] david at blue-labs dot org
>
> I beg to differ. It is a header added by the delivering MTA /MDA and
> many do it. It is part of the header block as defined by RFC. It is
> nonsense to pipe all incoming emails through "tail +1" before delivering
> to the LDA or to expect any LDA to accept a message then pipe it through
> "tail +1" before attempting to process it.
>
> The envelope from header is referenced in numerous RFCs and there are
> particular rules for it's use and what should and should not be present
> in it at any given time.
>
> There are many SMTP based applications that rely on the envelope from
> header, one such is SPF. Message Disposition Notification may also
> utilize envelope-from.
>
> Envelope from is also used with some IMAP servers and for the Extended
> Facsimile via Internet Mail.
>
> Envelope from is decidedly a header and Mail_mimeDecode already parses
> it as a header, it just parses it incorrectly.
>
> Please support it's use.
>
> ------------------------------------------------------------------------
>
> [2006-12-06 19:06:04] glen at delfi dot ee
>
> "From Tue Nov 28 23:42:23 2006" is not email header. email
> headers are separated by colon. use for example shell
> command 'tail +1' to skip that line.
>
> ------------------------------------------------------------------------
>
> [2006-11-29 23:40:57] david at blue-labs dot org
>
> Description:
> ------------
> Mail header's envelope from isn't decoded properly
>
> Scott PHP # grep "^From " ../src/debug/mime.mgt3
> >From - Tue Nov 28 23:42:23 2006
>
> a) the header isn't properly split
> b) it's lowercased because of (a)
>
> Test script:
> ---------------
> ./bluelist.php < ../src/debug/mime.mgt3
>
>
> /*
> * caution is prudent when using this mime stuff as the entire message
> is
> * loaded into memory ...
> */
> $input = stream_get_contents($config['msg on disk handle']);
>
> $params['include_bodies'] = true;
> $params['decode_bodies'] = true;
> $params['decode_headers'] = true;
>
> $mime_obj = new Mail_mimeDecode($input);
> $config['mime struct'] = $mime_obj->decode($params);
>
> var_dump($config['mime struct']);
>
>
> Expected result:
> ----------------
> ./bluelist.php < ../src/debug/mime.mgt3
> object(stdClass)#2 (5) {
> ["headers"]=>
> array(28) {
> ["from"]=>
> string(27) " - Tue Nov 28 23:42:23 2006"
>
>
> Actual result:
> --------------
> ./bluelist.php < ../src/debug/mime.mgt3
> object(stdClass)#2 (5) {
> ["headers"]=>
> array(28) {
> ["from - tue nov 28 23"]=>
> string(10) "42:23 2006"
>
> ------------------------------------------------------------------------
>
>