Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #9614 > unrolled thread

Parsing mbox files with Windows Php

Started byChuck Anderson <cycletourist@invalid.invalid>
First post2013-05-24 15:57 -0600
Last post2013-05-29 00:08 +0200
Articles 20 on this page of 33 — 6 participants

Back to article view | Back to comp.lang.php


Contents

  Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-24 15:57 -0600
    Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-25 00:40 +0200
      Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-24 21:17 -0600
      Re: Parsing mbox files with Windows Php Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-25 09:30 +0200
        Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-25 16:19 +0200
          Re: Parsing mbox files with Windows Php Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-25 17:19 +0200
            Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-25 17:48 +0200
              Re: Parsing mbox files with Windows Php Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-25 20:09 +0200
    Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-24 19:16 -0400
      Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-24 17:40 -0600
      Re: Parsing mbox files with Windows Php "Peter H. Coffin" <hellsop@ninehells.com> - 2013-05-25 10:50 -0500
    Re: Parsing mbox files with Windows Php Luuk <luuk@invalid.lan> - 2013-05-25 18:08 +0200
    Re: Parsing mbox files with Windows Php "Peter H. Coffin" <hellsop@ninehells.com> - 2013-05-25 11:14 -0500
      Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-25 16:39 -0600
        Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-26 23:11 -0400
          Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-27 14:13 +0200
            Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-27 08:49 -0400
              Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-27 15:25 +0200
                Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-27 10:01 -0400
                  Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-27 18:08 +0200
                    Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-27 19:05 -0400
                      Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-28 01:42 +0200
                        Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-27 19:50 -0400
                          Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-29 00:17 +0200
          Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-27 17:51 -0600
            Re: Parsing mbox files with Windows Php (correction - ignore previous) Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-27 18:20 -0600
        Re: Parsing mbox files with Windows Php "Peter H. Coffin" <hellsop@ninehells.com> - 2013-05-27 10:22 -0500
          Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-27 21:15 -0600
            Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-28 12:23 -0400
              Re: Parsing mbox files with Windows Php Chuck Anderson <cycletourist@invalid.invalid> - 2013-05-28 17:56 -0600
                Re: Parsing mbox files with Windows Php Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-28 22:27 -0400
                Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-29 15:23 +0200
            Re: Parsing mbox files with Windows Php Christoph Becker <cmbecker69@gmx.de> - 2013-05-29 00:08 +0200

Page 1 of 2  [1] 2  Next page →


#9614 — Parsing mbox files with Windows Php

FromChuck Anderson <cycletourist@invalid.invalid>
Date2013-05-24 15:57 -0600
SubjectParsing mbox files with Windows Php
Message-ID<knongf$e81$1@dont-email.me>
I have been slowly building a Php/MySQL based IMAP email client.  The 
Php IMAP functions are well documented and easy to use.  I store 
messages in a MySQL database (attachments in the file system) for ease 
of organization, maintenance, backup and searching.  I like it enough 
that I want to add my existing archive of email in Thunderbird.  To do 
so, I need to parse mbox files and extract message headers, parts, and 
attachments.  Thankfully, the Php IMAP functions can be used to open and 
parse an mbox file (or even a single .eml file) as well as opening a 
stream to the server.

Using this functionality I can write a script to run on my WAMP 
development machine that reads the Thunderbird folder structure, parses 
the mbox files and saves individual messages along with their 
folder/subfolder path in the Thunderbird folder hierarchy.  It should be 
as easy as pointing it to the top of the folder structure and letting it 
do all the work from there.

Unfortunately, it appears that the Windows Php binary is unable to 
connect to an mbox file, so to make my job easy, I would have to upload 
the entire folder structure (it is about 200MBs) to my shared host and 
process it there.  I would much rather "toy around" with this process on 
my Windows development machine and not on the shared host.

There is a Php bug filed for this, but it was determined that the 
"underlying c-client function is unable to open a file."  
https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."

$mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but not 
on Windows.
 - Warning: imap_open(): Couldn't open stream mboxfiles/Inbox ....
 - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such mailbox 
(errflg=2) in Unknown on line 0.
   (This second error is the one coming from the underlying c-client 
function.)

I believe this is a dead end but want to check if anyone has happened to 
figure out a way to make this work in Windows - or if you know of a 
separate mbox file parser that would be fairly simple to integrate with 
my current Php IMAP based scripts - dependent on the output of 
imap_fetchstructure, imap_headerinfo, imap_fetchbody(parts).

If not, I will probably build a form that lets me select individual 
(smaller) sections of the folder hierarchy to process individually 
(tedious and prone to error).

-- 
*****************************
 Chuck Anderson • Boulder, CO
  http://cycletourist.com
 Turn Off, Tune Out, Drop In
*****************************

[toc] | [next] | [standalone]


#9619

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-25 00:40 +0200
Message-ID<knoq7m$gur$1@speranza.aioe.org>
In reply to#9614
Chuck Anderson wrote:
> I believe this is a dead end but want to check if anyone has happened to
> figure out a way to make this work in Windows [...]

It may work under Cygwin[1]; probably that's worth a try.

[1] <http://www.cygwin.com/>

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#9635

FromChuck Anderson <cycletourist@invalid.invalid>
Date2013-05-24 21:17 -0600
Message-ID<knpa8f$qgv$1@dont-email.me>
In reply to#9619
Christoph Becker wrote:
> Chuck Anderson wrote:
>   
>> I believe this is a dead end but want to check if anyone has happened to
>> figure out a way to make this work in Windows [...]
>>     
>
> It may work under Cygwin[1]; probably that's worth a try.
>
> [1] <http://www.cygwin.com/>
>   

I guess there's more to Cygwin than I ever knew.  I've only used 
specific cygwin tools that I wanted - that required cygwin1.dll.  I 
never took a closer look at it.  I don't (as yet) know how I would run 
Php under Cygwin1.  I believe I need to install a special Cygwin version 
of Php.  I'll have to learn how to run it under Cygwin1.

-- 
*****************************
 Chuck Anderson • Boulder, CO
  http://cycletourist.com
 Turn Off, Tune Out, Drop In
*****************************

[toc] | [prev] | [next] | [standalone]


#9638

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2013-05-25 09:30 +0200
Message-ID<2123395.IAvKS7Aejd@PointedEars.de>
In reply to#9619
Christoph Becker wrote:

> Chuck Anderson wrote:
>> I believe this is a dead end but want to check if anyone has happened to
>> figure out a way to make this work in Windows [...]
> 
> It may work under Cygwin[1]; probably that's worth a try.
> 
> [1] <http://www.cygwin.com/>

<http://cygwin.com/packages/> does not contain “php”.


PointedEars
-- 
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
  -- from <http://www.vortex-webdesign.com/help/hidesource.htm> (404-comp.)

[toc] | [prev] | [next] | [standalone]


#9647

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-25 16:19 +0200
Message-ID<knqh7v$nmd$1@speranza.aioe.org>
In reply to#9638
Thomas 'PointedEars' Lahn wrote:
> Christoph Becker wrote:
> 
>> Chuck Anderson wrote:
>>> I believe this is a dead end but want to check if anyone has happened to
>>> figure out a way to make this work in Windows [...]
>>
>> It may work under Cygwin[1]; probably that's worth a try.
>>
>> [1] <http://www.cygwin.com/>
> 
> <http://cygwin.com/packages/> does not contain “php”.

Unfortunately not.  One has to build PHP from the sources.  I have done
so lately with the default configuration (so I have no experience
regarding the IMAP extension), to use it from the command line.  I have
not yet tried to use it from a web server.

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#9648

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2013-05-25 17:19 +0200
Message-ID<6091722.E4UdLVEoVZ@PointedEars.de>
In reply to#9647
Christoph Becker wrote:

> Thomas 'PointedEars' Lahn wrote:
>> Christoph Becker wrote:
>>> Chuck Anderson wrote:
>>>> I believe this is a dead end but want to check if anyone has happened
>>>> to figure out a way to make this work in Windows [...]
>>>
>>> It may work under Cygwin[1]; probably that's worth a try.
>>>
>>> [1] <http://www.cygwin.com/>
>> 
>> <http://cygwin.com/packages/> does not contain “php”.
> 
> Unfortunately not.  One has to build PHP from the sources.  I have done
> so lately with the default configuration (so I have no experience
> regarding the IMAP extension), to use it from the command line.  […]

Have you built PHP successfully *for Cygwin*?


PointedEars
-- 
    realism:    HTML 4.01 Strict
    evangelism: XHTML 1.0 Strict
    madness:    XHTML 1.1 as application/xhtml+xml
                                                    -- Bjoern Hoehrmann

[toc] | [prev] | [next] | [standalone]


#9650

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-25 17:48 +0200
Message-ID<knqmgo$7cm$1@speranza.aioe.org>
In reply to#9648
Thomas 'PointedEars' Lahn wrote:
> Christoph Becker wrote:
> 
>> Thomas 'PointedEars' Lahn wrote:
>>> Christoph Becker wrote:
>>>> Chuck Anderson wrote:
>>>>> I believe this is a dead end but want to check if anyone has happened
>>>>> to figure out a way to make this work in Windows [...]
>>>>
>>>> It may work under Cygwin[1]; probably that's worth a try.
>>>>
>>>> [1] <http://www.cygwin.com/>
>>>
>>> <http://cygwin.com/packages/> does not contain “php”.
>>
>> Unfortunately not.  One has to build PHP from the sources.  I have done
>> so lately with the default configuration (so I have no experience
>> regarding the IMAP extension), to use it from the command line.  […]
> 
> Have you built PHP successfully *for Cygwin*?

Yes.  Besides the PHP sources, I have only used cygwin packages.

$ php -i
phpinfo()
PHP Version => 5.4.15

System => CYGWIN_NT-5.1 RELIANT 1.7.18(0.263/5/3) 2013-04-19 10:39 i686
Build Date => May 19 2013 23:20:19
Configure Command =>  './configure'
[...]

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#9654

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2013-05-25 20:09 +0200
Message-ID<10094670.9L0Ybmh0lT@PointedEars.de>
In reply to#9650
Christoph Becker wrote:

> Thomas 'PointedEars' Lahn wrote:
>> Christoph Becker wrote:
>>> Thomas 'PointedEars' Lahn wrote:
>>>> Christoph Becker wrote:
>>>>> Chuck Anderson wrote:
>>>>>> I believe this is a dead end but want to check if anyone has happened
>>>>>> to figure out a way to make this work in Windows [...]
>>>>>
>>>>> It may work under Cygwin[1]; probably that's worth a try.
>>>>>
>>>>> [1] <http://www.cygwin.com/>
>>>>
>>>> <http://cygwin.com/packages/> does not contain “php”.
>>>
>>> Unfortunately not.  One has to build PHP from the sources.  I have done
>>> so lately with the default configuration (so I have no experience
>>> regarding the IMAP extension), to use it from the command line.  […]
>> 
>> Have you built PHP successfully *for Cygwin*?
> 
> Yes.  Besides the PHP sources, I have only used cygwin packages.
> 
> $ php -i
> phpinfo()
> PHP Version => 5.4.15
> 
> System => CYGWIN_NT-5.1 RELIANT 1.7.18(0.263/5/3) 2013-04-19 10:39 i686
> Build Date => May 19 2013 23:20:19
> Configure Command =>  './configure'
> [...]

Thank you, that is what I wanted to read :)


Regards,

PointedEars
-- 
Danny Goodman's books are out of date and teach practices that are
positively harmful for cross-browser scripting.
  -- Richard Cornford, cljs, <cife6q$253$1$8300dec7@news.demon.co.uk> (2004)

[toc] | [prev] | [next] | [standalone]


#9626

FromJerry Stuckle <jstucklex@attglobal.net>
Date2013-05-24 19:16 -0400
Message-ID<knos3s$3t0$1@dont-email.me>
In reply to#9614
On 5/24/2013 5:57 PM, Chuck Anderson wrote:
>
> I have been slowly building a Php/MySQL based IMAP email client.  The
> Php IMAP functions are well documented and easy to use.  I store
> messages in a MySQL database (attachments in the file system) for ease
> of organization, maintenance, backup and searching.  I like it enough
> that I want to add my existing archive of email in Thunderbird.  To do
> so, I need to parse mbox files and extract message headers, parts, and
> attachments.  Thankfully, the Php IMAP functions can be used to open and
> parse an mbox file (or even a single .eml file) as well as opening a
> stream to the server.
>
> Using this functionality I can write a script to run on my WAMP
> development machine that reads the Thunderbird folder structure, parses
> the mbox files and saves individual messages along with their
> folder/subfolder path in the Thunderbird folder hierarchy.  It should be
> as easy as pointing it to the top of the folder structure and letting it
> do all the work from there.
>
> Unfortunately, it appears that the Windows Php binary is unable to
> connect to an mbox file, so to make my job easy, I would have to upload
> the entire folder structure (it is about 200MBs) to my shared host and
> process it there.  I would much rather "toy around" with this process on
> my Windows development machine and not on the shared host.
>
> There is a Php bug filed for this, but it was determined that the
> "underlying c-client function is unable to open a file."
> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>
> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but not
> on Windows.
> - Warning: imap_open(): Couldn't open stream mboxfiles/Inbox ....
> - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such mailbox
> (errflg=2) in Unknown on line 0.
>    (This second error is the one coming from the underlying c-client
> function.)
>
> I believe this is a dead end but want to check if anyone has happened to
> figure out a way to make this work in Windows - or if you know of a
> separate mbox file parser that would be fairly simple to integrate with
> my current Php IMAP based scripts - dependent on the output of
> imap_fetchstructure, imap_headerinfo, imap_fetchbody(parts).
>
> If not, I will probably build a form that lets me select individual
> (smaller) sections of the folder hierarchy to process individually
> (tedious and prone to error).
>

Are you sure Thunderbird's files are in imap format?  I didn't think 
they were - I thought they were in some Thunderbird-specific format.

But also, if you're opening 'pathto/mboxfile', why is it complaining 
about 'mboxfiles...'?

-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

[toc] | [prev] | [next] | [standalone]


#9630

FromChuck Anderson <cycletourist@invalid.invalid>
Date2013-05-24 17:40 -0600
Message-ID<knoth7$9o2$1@dont-email.me>
In reply to#9626
Jerry Stuckle wrote:
> On 5/24/2013 5:57 PM, Chuck Anderson wrote:
>>
>> I have been slowly building a Php/MySQL based IMAP email client.  The
>> Php IMAP functions are well documented and easy to use.  I store
>> messages in a MySQL database (attachments in the file system) for ease
>> of organization, maintenance, backup and searching.  I like it enough
>> that I want to add my existing archive of email in Thunderbird.  To do
>> so, I need to parse mbox files and extract message headers, parts, and
>> attachments.  Thankfully, the Php IMAP functions can be used to open and
>> parse an mbox file (or even a single .eml file) as well as opening a
>> stream to the server.
>>
>> Using this functionality I can write a script to run on my WAMP
>> development machine that reads the Thunderbird folder structure, parses
>> the mbox files and saves individual messages along with their
>> folder/subfolder path in the Thunderbird folder hierarchy.  It should be
>> as easy as pointing it to the top of the folder structure and letting it
>> do all the work from there.
>>
>> Unfortunately, it appears that the Windows Php binary is unable to
>> connect to an mbox file, so to make my job easy, I would have to upload
>> the entire folder structure (it is about 200MBs) to my shared host and
>> process it there.  I would much rather "toy around" with this process on
>> my Windows development machine and not on the shared host.
>>
>> There is a Php bug filed for this, but it was determined that the
>> "underlying c-client function is unable to open a file."
>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>
>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but not
>> on Windows.
>> - Warning: imap_open(): Couldn't open stream mboxfiles/Inbox ....
>> - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such mailbox
>> (errflg=2) in Unknown on line 0.
>>    (This second error is the one coming from the underlying c-client
>> function.)
>>
>> I believe this is a dead end but want to check if anyone has happened to
>> figure out a way to make this work in Windows - or if you know of a
>> separate mbox file parser that would be fairly simple to integrate with
>> my current Php IMAP based scripts - dependent on the output of
>> imap_fetchstructure, imap_headerinfo, imap_fetchbody(parts).
>>
>> If not, I will probably build a form that lets me select individual
>> (smaller) sections of the folder hierarchy to process individually
>> (tedious and prone to error).
>>
>
> Are you sure Thunderbird's files are in imap format?  

I don't have the spec, but I have read as much.  And the imap functions 
do parse them nicely - on *nix.

> I didn't think they were - I thought they were in some 
> Thunderbird-specific format.

Thunderbird (I am still in version 2) uses the mbox format.  (I believe 
that means that the beginning of a new email is denoted by a blank line 
followed by "From - ....").  The rest is the usual email format, headers 
until a double line feed denoting the beginning of the body.  (Body 
lines that happen to begin with "From" have to have "From" escaped in 
those files.)

When saving a single email to a .eml file, before you can not parse it 
with imap functions you must insert a dummy "From - " line (separate 
from the usual From: header, this is "From - date") to the beginning of 
the headers.  Thunderbird places those into the mbox (multiple emails) file.

>
> But also, if you're opening 'pathto/mboxfile', why is it complaining 
> about 'mboxfiles...'?

Sorry.  I was using generic terms and switched terms (sloppy).  The 
error says it can not open the folder/file I specified.  When I run the 
exact same script on my shared Linux server (after uploading a sample 
Thunderbird mail file), the imap functions produce output exactly like 
they would if reading from a stream on the imap server.

-- 
*****************************
 Chuck Anderson • Boulder, CO
  http://cycletourist.com
 Turn Off, Tune Out, Drop In
*****************************

[toc] | [prev] | [next] | [standalone]


#9651

From"Peter H. Coffin" <hellsop@ninehells.com>
Date2013-05-25 10:50 -0500
Message-ID<slrnkq1neg.msg.hellsop@nibelheim.ninehells.com>
In reply to#9626
On Fri, 24 May 2013 19:16:06 -0400, Jerry Stuckle wrote:
> Are you sure Thunderbird's files are in imap format?  I didn't think 
> they were - I thought they were in some Thunderbird-specific format.

Nah, it's essentially mbox, just like Eudora before it. Which is
convenient because mostly just remembering to use binary transfers is
enough to get from Thunderbird to shell mail tools, and back again.

-- 
50. My main computers will have their own special operating system that
    will be completely incompatible with standard IBM and Macintosh 
    powerbooks.
	--Peter Anspach's list of things to do as an Evil Overlord

[toc] | [prev] | [next] | [standalone]


#9652

FromLuuk <luuk@invalid.lan>
Date2013-05-25 18:08 +0200
Message-ID<h9477a-j7p.ln1@luuk.invalid.lan>
In reply to#9614
On 24-05-2013 23:57, Chuck Anderson wrote:
>
> I have been slowly building a Php/MySQL based IMAP email client.  The
> Php IMAP functions are well documented and easy to use.  I store
> messages in a MySQL database (attachments in the file system) for ease
> of organization, maintenance, backup and searching.  I like it enough
> that I want to add my existing archive of email in Thunderbird.  To do
> so, I need to parse mbox files and extract message headers, parts, and
> attachments.  Thankfully, the Php IMAP functions can be used to open and
> parse an mbox file (or even a single .eml file) as well as opening a
> stream to the server.
>
> Using this functionality I can write a script to run on my WAMP
> development machine that reads the Thunderbird folder structure, parses
> the mbox files and saves individual messages along with their
> folder/subfolder path in the Thunderbird folder hierarchy.  It should be
> as easy as pointing it to the top of the folder structure and letting it
> do all the work from there.
>
> Unfortunately, it appears that the Windows Php binary is unable to
> connect to an mbox file,

There are also scripts/tools to convert mbox to maildir format....

Maybe that could bring another way to solve this 'problem' ?

[toc] | [prev] | [next] | [standalone]


#9653

From"Peter H. Coffin" <hellsop@ninehells.com>
Date2013-05-25 11:14 -0500
Message-ID<slrnkq1orr.msg.hellsop@nibelheim.ninehells.com>
In reply to#9614
On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>
> I have been slowly building a Php/MySQL based IMAP email client.  The 
> Php IMAP functions are well documented and easy to use.  I store 
> messages in a MySQL database (attachments in the file system) for ease 
> of organization, maintenance, backup and searching.  I like it enough 
> that I want to add my existing archive of email in Thunderbird.  To do 
> so, I need to parse mbox files and extract message headers, parts, and 
> attachments.  Thankfully, the Php IMAP functions can be used to open and 
> parse an mbox file (or even a single .eml file) as well as opening a 
> stream to the server.
>
> Using this functionality I can write a script to run on my WAMP 
> development machine that reads the Thunderbird folder structure, parses 
> the mbox files and saves individual messages along with their 
> folder/subfolder path in the Thunderbird folder hierarchy.  It should be 
> as easy as pointing it to the top of the folder structure and letting it 
> do all the work from there.
>
> Unfortunately, it appears that the Windows Php binary is unable to 
> connect to an mbox file, so to make my job easy, I would have to upload 
> the entire folder structure (it is about 200MBs) to my shared host and 
> process it there.  I would much rather "toy around" with this process on 
> my Windows development machine and not on the shared host.
>
> There is a Php bug filed for this, but it was determined that the 
> "underlying c-client function is unable to open a file."  
> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>
> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but not 
> on Windows.
>  - Warning: imap_open(): Couldn't open stream mboxfiles/Inbox ....
>  - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such mailbox 
> (errflg=2) in Unknown on line 0.
>    (This second error is the one coming from the underlying c-client 
> function.)

Okay, step one: quit munging stuff around and give us the EXACT code,
the EXACT contents of variables involved, and the EXACT error messages.
You're not revealing national secrets by posting paths to filenames, and
what the problem is may be in what you're changing to be more general.

> I believe this is a dead end but want to check if anyone has happened to 
> figure out a way to make this work in Windows - or if you know of a 
> separate mbox file parser that would be fairly simple to integrate with 
> my current Php IMAP based scripts - dependent on the output of 
> imap_fetchstructure, imap_headerinfo, imap_fetchbody(parts).
>
> If not, I will probably build a form that lets me select individual 
> (smaller) sections of the folder hierarchy to process individually 
> (tedious and prone to error).

Of course, by the time you're done with that, the 200MB transfer would
have been LONG finished and you'd have your goal accomplished on the
hosted server.... (:

-- 
19. I will not have a daughter. She would be as beautiful as she was 
   evil, but one look at the hero's rugged countenance and she'd betray
   her own father.
        --Peter Anspach's list of things to do as an Evil Overlord

[toc] | [prev] | [next] | [standalone]


#9655

FromChuck Anderson <cycletourist@invalid.invalid>
Date2013-05-25 16:39 -0600
Message-ID<knreb5$roc$1@dont-email.me>
In reply to#9653
Peter H. Coffin wrote:
> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>   
>> I have been slowly building a Php/MySQL based IMAP email client.  The 
>> Php IMAP functions are well documented and easy to use.  I store 
>> messages in a MySQL database (attachments in the file system) for ease 
>> of organization, maintenance, backup and searching.  I like it enough 
>> that I want to add my existing archive of email in Thunderbird.  To do 
>> so, I need to parse mbox files and extract message headers, parts, and 
>> attachments.  Thankfully, the Php IMAP functions can be used to open and 
>> parse an mbox file (or even a single .eml file) as well as opening a 
>> stream to the server.
>>
>> Using this functionality I can write a script to run on my WAMP 
>> development machine that reads the Thunderbird folder structure, parses 
>> the mbox files and saves individual messages along with their 
>> folder/subfolder path in the Thunderbird folder hierarchy.  It should be 
>> as easy as pointing it to the top of the folder structure and letting it 
>> do all the work from there.
>>
>> Unfortunately, it appears that the Windows Php binary is unable to 
>> connect to an mbox file, so to make my job easy, I would have to upload 
>> the entire folder structure (it is about 200MBs) to my shared host and 
>> process it there.  I would much rather "toy around" with this process on 
>> my Windows development machine and not on the shared host.
>>
>> There is a Php bug filed for this, but it was determined that the 
>> "underlying c-client function is unable to open a file."  
>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>
>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but not 
>> on Windows.
>>  - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such mailbox 
>> (errflg=2) in Unknown on line 0.
>>    (This second error is the one coming from the underlying c-client 
>> function.)
>>     
>
> Okay, step one: quit munging stuff around and give us the EXACT code,
> the EXACT contents of variables involved, and the EXACT error messages.
> You're not revealing national secrets by posting paths to filenames, and
> what the problem is may be in what you're changing to be more general.
>   

I used generic paths and filenames because I had tried several variations.

I have learned that imap_open only works on a file - on a *nix web 
server - if the path to the mbox file is relative to $HOME. I have not 
found any official documentation, just forum posts saying so, and ... it 
is the only way I have been able to make it work.

So, imap_open works for me (on the remote Linux host) if, and only if, I 
use:
imap_open ('public_html/mboxfiles/Trash', '', '')
// Trash is an mbox file I uploaded directly from my Thunderbird Profile

On Windows
c:/localhost is the document root
c:/localhost/imap is where the Php scripts are located.
c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located

I have tried:
imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of 
being relative to $HOME on *nix
imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from 
document root
imap_open('mboxfiles/Trash', '', ''); // relative path
imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on disk

On Windows I always get these two errors (the file path changes 
accordingly):

- Warning: imap_open(): Couldn't open stream 
localhost/utilities/imap/eml/Trash in 
localhost\utilities\imap\imap_save_mbox_file.php on line 127

- Notice: Unknown: Can't open mailbox 
localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in 
Unknown on line 0

I have read that the second error is coming from the c-client (errflg=2 
comes from there).

>> I believe this is a dead end but want to check if anyone has happened to 
>> figure out a way to make this work in Windows - or if you know of a 
>> separate mbox file parser that would be fairly simple to integrate with 
>> my current Php IMAP based scripts - dependent on the output of 
>> imap_fetchstructure, imap_headerinfo, imap_fetchbody(parts).
>>
>> If not, I will probably build a form that lets me select individual 
>> (smaller) sections of the folder hierarchy to process individually 
>> (tedious and prone to error).
>>     
>
> Of course, by the time you're done with that, the 200MB transfer would
> have been LONG finished and you'd have your goal accomplished on the
> hosted server.... (:
>   

I know ô¿Ô¬ .... It is not the upload that concerns me. It is the 
resource usage when testing it on the entire structure all at once 
(certainly more than one time). Perhaps it is no big deal. I simply do 
not know.

Also, if done on the server I will need to upload files, process them to 
a database, download a database dump, and then load that to the local 
database. For simplicity alone, I would rather to do it locally with one 
step - process to database. .... It is always easier to test and debug 
on a local development machine.

I hoped someone else had cracked this nut, but I'm beginning to believe 
that it is not crackable, so .... I will probably upload the entire 
Thunderbird Mail folder structure to the remote host and try running my 
script during low traffic hours. Once I verify it has worked 100% 
(archived everything and saved the folder structure properly), I will 
not have a need to do it again.

-- 
*****************************
 Chuck Anderson • Boulder, CO
  http://cycletourist.com
 Turn Off, Tune Out, Drop In
*****************************

[toc] | [prev] | [next] | [standalone]


#9659

FromJerry Stuckle <jstucklex@attglobal.net>
Date2013-05-26 23:11 -0400
Message-ID<knuil2$7s5$1@dont-email.me>
In reply to#9655
On 5/25/2013 6:39 PM, Chuck Anderson wrote:
> Peter H. Coffin wrote:
>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>> I have been slowly building a Php/MySQL based IMAP email client.  The
>>> Php IMAP functions are well documented and easy to use.  I store
>>> messages in a MySQL database (attachments in the file system) for
>>> ease of organization, maintenance, backup and searching.  I like it
>>> enough that I want to add my existing archive of email in
>>> Thunderbird.  To do so, I need to parse mbox files and extract
>>> message headers, parts, and attachments.  Thankfully, the Php IMAP
>>> functions can be used to open and parse an mbox file (or even a
>>> single .eml file) as well as opening a stream to the server.
>>>
>>> Using this functionality I can write a script to run on my WAMP
>>> development machine that reads the Thunderbird folder structure,
>>> parses the mbox files and saves individual messages along with their
>>> folder/subfolder path in the Thunderbird folder hierarchy.  It should
>>> be as easy as pointing it to the top of the folder structure and
>>> letting it do all the work from there.
>>>
>>> Unfortunately, it appears that the Windows Php binary is unable to
>>> connect to an mbox file, so to make my job easy, I would have to
>>> upload the entire folder structure (it is about 200MBs) to my shared
>>> host and process it there.  I would much rather "toy around" with
>>> this process on my Windows development machine and not on the shared
>>> host.
>>>
>>> There is a Php bug filed for this, but it was determined that the
>>> "underlying c-client function is unable to open a file."
>>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>>
>>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but
>>> not on Windows.
>>>  - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such
>>> mailbox (errflg=2) in Unknown on line 0.
>>>    (This second error is the one coming from the underlying c-client
>>> function.)
>>
>> Okay, step one: quit munging stuff around and give us the EXACT code,
>> the EXACT contents of variables involved, and the EXACT error messages.
>> You're not revealing national secrets by posting paths to filenames, and
>> what the problem is may be in what you're changing to be more general.
>
> I used generic paths and filenames because I had tried several variations.
>
> I have learned that imap_open only works on a file - on a *nix web
> server - if the path to the mbox file is relative to $HOME. I have not
> found any official documentation, just forum posts saying so, and ... it
> is the only way I have been able to make it work.
>
> So, imap_open works for me (on the remote Linux host) if, and only if, I
> use:
> imap_open ('public_html/mboxfiles/Trash', '', '')
> // Trash is an mbox file I uploaded directly from my Thunderbird Profile
>
> On Windows
> c:/localhost is the document root
> c:/localhost/imap is where the Php scripts are located.
> c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located
>
> I have tried:
> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
> being relative to $HOME on *nix
> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
> document root
> imap_open('mboxfiles/Trash', '', ''); // relative path
> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on
> disk
>
> On Windows I always get these two errors (the file path changes
> accordingly):
>
> - Warning: imap_open(): Couldn't open stream
> localhost/utilities/imap/eml/Trash in
> localhost\utilities\imap\imap_save_mbox_file.php on line 127
>
> - Notice: Unknown: Can't open mailbox
> localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in
> Unknown on line 0
>
> I have read that the second error is coming from the c-client (errflg=2
> comes from there).
>

I don't see any of the code you listed listing the directories 
imap_open() is looking in.

Once again (and for the LAST TIME):

What is the *EXACT CODE* you are using.  And what is the *EXACT MESSAGE* 
you get in response?

We can't help you if you give incomplete/confusing/incorrect information!


-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

[toc] | [prev] | [next] | [standalone]


#9660

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-27 14:13 +0200
Message-ID<knvila$ga2$1@speranza.aioe.org>
In reply to#9659
Jerry Stuckle wrote:
> On 5/25/2013 6:39 PM, Chuck Anderson wrote:
>> Peter H. Coffin wrote:
>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>> I have been slowly building a Php/MySQL based IMAP email client.  The
>>>> Php IMAP functions are well documented and easy to use.  I store
>>>> messages in a MySQL database (attachments in the file system) for
>>>> ease of organization, maintenance, backup and searching.  I like it
>>>> enough that I want to add my existing archive of email in
>>>> Thunderbird.  To do so, I need to parse mbox files and extract
>>>> message headers, parts, and attachments.  Thankfully, the Php IMAP
>>>> functions can be used to open and parse an mbox file (or even a
>>>> single .eml file) as well as opening a stream to the server.
>>>>
>>>> Using this functionality I can write a script to run on my WAMP
>>>> development machine that reads the Thunderbird folder structure,
>>>> parses the mbox files and saves individual messages along with their
>>>> folder/subfolder path in the Thunderbird folder hierarchy.  It should
>>>> be as easy as pointing it to the top of the folder structure and
>>>> letting it do all the work from there.
>>>>
>>>> Unfortunately, it appears that the Windows Php binary is unable to
>>>> connect to an mbox file, so to make my job easy, I would have to
>>>> upload the entire folder structure (it is about 200MBs) to my shared
>>>> host and process it there.  I would much rather "toy around" with
>>>> this process on my Windows development machine and not on the shared
>>>> host.
>>>>
>>>> There is a Php bug filed for this, but it was determined that the
>>>> "underlying c-client function is unable to open a file."
>>>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>>>
>>>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but
>>>> not on Windows.
>>>>  - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such
>>>> mailbox (errflg=2) in Unknown on line 0.
>>>>    (This second error is the one coming from the underlying c-client
>>>> function.)
>>>
>>> Okay, step one: quit munging stuff around and give us the EXACT code,
>>> the EXACT contents of variables involved, and the EXACT error messages.
>>> You're not revealing national secrets by posting paths to filenames, and
>>> what the problem is may be in what you're changing to be more general.
>>
>> I used generic paths and filenames because I had tried several
>> variations.
>>
>> I have learned that imap_open only works on a file - on a *nix web
>> server - if the path to the mbox file is relative to $HOME. I have not
>> found any official documentation, just forum posts saying so, and ... it
>> is the only way I have been able to make it work.
>>
>> So, imap_open works for me (on the remote Linux host) if, and only if, I
>> use:
>> imap_open ('public_html/mboxfiles/Trash', '', '')
>> // Trash is an mbox file I uploaded directly from my Thunderbird Profile
>>
>> On Windows
>> c:/localhost is the document root
>> c:/localhost/imap is where the Php scripts are located.
>> c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located
>>
>> I have tried:
>> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
>> being relative to $HOME on *nix
>> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
>> document root
>> imap_open('mboxfiles/Trash', '', ''); // relative path
>> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on
>> disk
>>
>> On Windows I always get these two errors (the file path changes
>> accordingly):
>>
>> - Warning: imap_open(): Couldn't open stream
>> localhost/utilities/imap/eml/Trash in
>> localhost\utilities\imap\imap_save_mbox_file.php on line 127
>>
>> - Notice: Unknown: Can't open mailbox
>> localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in
>> Unknown on line 0
>>
>> I have read that the second error is coming from the c-client (errflg=2
>> comes from there).
>>
> 
> I don't see any of the code you listed listing the directories
> imap_open() is looking in.

There seems to be a misunderstanding.  Chuck is not trying to open an
IMAP stream to a mail *server*, but instead to an mbox *file*.
Apparently this works on Linux, but not on Windows.  According to
<https://bugs.php.net/bug.php?id=39880> this seems to be a problem of
the c-client library on Windows.

> Once again (and for the LAST TIME):
> 
> What is the *EXACT CODE* you are using.  And what is the *EXACT MESSAGE*
> you get in response?
> 
> We can't help you if you give incomplete/confusing/incorrect information!

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#9661

FromJerry Stuckle <jstucklex@attglobal.net>
Date2013-05-27 08:49 -0400
Message-ID<knvkh9$11t$1@dont-email.me>
In reply to#9660
On 5/27/2013 8:13 AM, Christoph Becker wrote:
> Jerry Stuckle wrote:
>> On 5/25/2013 6:39 PM, Chuck Anderson wrote:
>>> Peter H. Coffin wrote:
>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>> I have been slowly building a Php/MySQL based IMAP email client.  The
>>>>> Php IMAP functions are well documented and easy to use.  I store
>>>>> messages in a MySQL database (attachments in the file system) for
>>>>> ease of organization, maintenance, backup and searching.  I like it
>>>>> enough that I want to add my existing archive of email in
>>>>> Thunderbird.  To do so, I need to parse mbox files and extract
>>>>> message headers, parts, and attachments.  Thankfully, the Php IMAP
>>>>> functions can be used to open and parse an mbox file (or even a
>>>>> single .eml file) as well as opening a stream to the server.
>>>>>
>>>>> Using this functionality I can write a script to run on my WAMP
>>>>> development machine that reads the Thunderbird folder structure,
>>>>> parses the mbox files and saves individual messages along with their
>>>>> folder/subfolder path in the Thunderbird folder hierarchy.  It should
>>>>> be as easy as pointing it to the top of the folder structure and
>>>>> letting it do all the work from there.
>>>>>
>>>>> Unfortunately, it appears that the Windows Php binary is unable to
>>>>> connect to an mbox file, so to make my job easy, I would have to
>>>>> upload the entire folder structure (it is about 200MBs) to my shared
>>>>> host and process it there.  I would much rather "toy around" with
>>>>> this process on my Windows development machine and not on the shared
>>>>> host.
>>>>>
>>>>> There is a Php bug filed for this, but it was determined that the
>>>>> "underlying c-client function is unable to open a file."
>>>>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>>>>
>>>>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but
>>>>> not on Windows.
>>>>>   - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such
>>>>> mailbox (errflg=2) in Unknown on line 0.
>>>>>     (This second error is the one coming from the underlying c-client
>>>>> function.)
>>>>
>>>> Okay, step one: quit munging stuff around and give us the EXACT code,
>>>> the EXACT contents of variables involved, and the EXACT error messages.
>>>> You're not revealing national secrets by posting paths to filenames, and
>>>> what the problem is may be in what you're changing to be more general.
>>>
>>> I used generic paths and filenames because I had tried several
>>> variations.
>>>
>>> I have learned that imap_open only works on a file - on a *nix web
>>> server - if the path to the mbox file is relative to $HOME. I have not
>>> found any official documentation, just forum posts saying so, and ... it
>>> is the only way I have been able to make it work.
>>>
>>> So, imap_open works for me (on the remote Linux host) if, and only if, I
>>> use:
>>> imap_open ('public_html/mboxfiles/Trash', '', '')
>>> // Trash is an mbox file I uploaded directly from my Thunderbird Profile
>>>
>>> On Windows
>>> c:/localhost is the document root
>>> c:/localhost/imap is where the Php scripts are located.
>>> c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located
>>>
>>> I have tried:
>>> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
>>> being relative to $HOME on *nix
>>> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
>>> document root
>>> imap_open('mboxfiles/Trash', '', ''); // relative path
>>> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on
>>> disk
>>>
>>> On Windows I always get these two errors (the file path changes
>>> accordingly):
>>>
>>> - Warning: imap_open(): Couldn't open stream
>>> localhost/utilities/imap/eml/Trash in
>>> localhost\utilities\imap\imap_save_mbox_file.php on line 127
>>>
>>> - Notice: Unknown: Can't open mailbox
>>> localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in
>>> Unknown on line 0
>>>
>>> I have read that the second error is coming from the c-client (errflg=2
>>> comes from there).
>>>
>>
>> I don't see any of the code you listed listing the directories
>> imap_open() is looking in.
>
> There seems to be a misunderstanding.  Chuck is not trying to open an
> IMAP stream to a mail *server*, but instead to an mbox *file*.
> Apparently this works on Linux, but not on Windows.  According to
> <https://bugs.php.net/bug.php?id=39880> this seems to be a problem of
> the c-client library on Windows.
>

No, there is no misunderstanding.  But he has NOT been clear on his code 
and resulting messages.

Also, that bug is over six years old.  I have no idea if the bug still 
exists or not.  However, I do not consider a bug that old to still be 
valid until proven so.

>> Once again (and for the LAST TIME):
>>
>> What is the *EXACT CODE* you are using.  And what is the *EXACT MESSAGE*
>> you get in response?
>>
>> We can't help you if you give incomplete/confusing/incorrect information!
>



-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

[toc] | [prev] | [next] | [standalone]


#9662

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-27 15:25 +0200
Message-ID<knvmru$ssb$1@speranza.aioe.org>
In reply to#9661
Jerry Stuckle wrote:
> On 5/27/2013 8:13 AM, Christoph Becker wrote:
>> Jerry Stuckle wrote:
>>> On 5/25/2013 6:39 PM, Chuck Anderson wrote:
>>>> Peter H. Coffin wrote:
>>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>>> I have been slowly building a Php/MySQL based IMAP email client.  The
>>>>>> Php IMAP functions are well documented and easy to use.  I store
>>>>>> messages in a MySQL database (attachments in the file system) for
>>>>>> ease of organization, maintenance, backup and searching.  I like it
>>>>>> enough that I want to add my existing archive of email in
>>>>>> Thunderbird.  To do so, I need to parse mbox files and extract
>>>>>> message headers, parts, and attachments.  Thankfully, the Php IMAP
>>>>>> functions can be used to open and parse an mbox file (or even a
>>>>>> single .eml file) as well as opening a stream to the server.
>>>>>>
>>>>>> Using this functionality I can write a script to run on my WAMP
>>>>>> development machine that reads the Thunderbird folder structure,
>>>>>> parses the mbox files and saves individual messages along with their
>>>>>> folder/subfolder path in the Thunderbird folder hierarchy.  It should
>>>>>> be as easy as pointing it to the top of the folder structure and
>>>>>> letting it do all the work from there.
>>>>>>
>>>>>> Unfortunately, it appears that the Windows Php binary is unable to
>>>>>> connect to an mbox file, so to make my job easy, I would have to
>>>>>> upload the entire folder structure (it is about 200MBs) to my shared
>>>>>> host and process it there.  I would much rather "toy around" with
>>>>>> this process on my Windows development machine and not on the shared
>>>>>> host.
>>>>>>
>>>>>> There is a Php bug filed for this, but it was determined that the
>>>>>> "underlying c-client function is unable to open a file."
>>>>>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>>>>>
>>>>>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but
>>>>>> not on Windows.
>>>>>>   - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such
>>>>>> mailbox (errflg=2) in Unknown on line 0.
>>>>>>     (This second error is the one coming from the underlying c-client
>>>>>> function.)
>>>>>
>>>>> Okay, step one: quit munging stuff around and give us the EXACT code,
>>>>> the EXACT contents of variables involved, and the EXACT error
>>>>> messages.
>>>>> You're not revealing national secrets by posting paths to
>>>>> filenames, and
>>>>> what the problem is may be in what you're changing to be more general.
>>>>
>>>> I used generic paths and filenames because I had tried several
>>>> variations.
>>>>
>>>> I have learned that imap_open only works on a file - on a *nix web
>>>> server - if the path to the mbox file is relative to $HOME. I have not
>>>> found any official documentation, just forum posts saying so, and
>>>> ... it
>>>> is the only way I have been able to make it work.
>>>>
>>>> So, imap_open works for me (on the remote Linux host) if, and only
>>>> if, I
>>>> use:
>>>> imap_open ('public_html/mboxfiles/Trash', '', '')
>>>> // Trash is an mbox file I uploaded directly from my Thunderbird
>>>> Profile
>>>>
>>>> On Windows
>>>> c:/localhost is the document root
>>>> c:/localhost/imap is where the Php scripts are located.
>>>> c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located
>>>>
>>>> I have tried:
>>>> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
>>>> being relative to $HOME on *nix
>>>> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
>>>> document root
>>>> imap_open('mboxfiles/Trash', '', ''); // relative path
>>>> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on
>>>> disk
>>>>
>>>> On Windows I always get these two errors (the file path changes
>>>> accordingly):
>>>>
>>>> - Warning: imap_open(): Couldn't open stream
>>>> localhost/utilities/imap/eml/Trash in
>>>> localhost\utilities\imap\imap_save_mbox_file.php on line 127
>>>>
>>>> - Notice: Unknown: Can't open mailbox
>>>> localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in
>>>> Unknown on line 0
>>>>
>>>> I have read that the second error is coming from the c-client (errflg=2
>>>> comes from there).
>>>>
>>>
>>> I don't see any of the code you listed listing the directories
>>> imap_open() is looking in.
>>
>> There seems to be a misunderstanding.  Chuck is not trying to open an
>> IMAP stream to a mail *server*, but instead to an mbox *file*.
>> Apparently this works on Linux, but not on Windows.  According to
>> <https://bugs.php.net/bug.php?id=39880> this seems to be a problem of
>> the c-client library on Windows.
>>
> 
> No, there is no misunderstanding.  But he has NOT been clear on his code
> and resulting messages.

Chuck has posted the code that fails on Windows, but works on Linux, and
posted the according error messages.

> Also, that bug is over six years old.  I have no idea if the bug still
> exists or not.  However, I do not consider a bug that old to still be
> valid until proven so.

The issue's state was changed to "not a bug" in 2006 already.  I
consider this to be correct, but not for the reason given in the
comments.  IMO the valid reason to see it as "not a bug" is, that it's
not documented that imap_open() can be used for mbox *files*.

However, the issue does still exist, even with the latest c-client
library, which is from 2007.

>>> Once again (and for the LAST TIME):
>>>
>>> What is the *EXACT CODE* you are using.  And what is the *EXACT MESSAGE*
>>> you get in response?
>>>
>>> We can't help you if you give incomplete/confusing/incorrect
>>> information!

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


#9663

FromJerry Stuckle <jstucklex@attglobal.net>
Date2013-05-27 10:01 -0400
Message-ID<knvon4$o27$1@dont-email.me>
In reply to#9662
On 5/27/2013 9:25 AM, Christoph Becker wrote:
> Jerry Stuckle wrote:
>> On 5/27/2013 8:13 AM, Christoph Becker wrote:
>>> Jerry Stuckle wrote:
>>>> On 5/25/2013 6:39 PM, Chuck Anderson wrote:
>>>>> Peter H. Coffin wrote:
>>>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>>>> I have been slowly building a Php/MySQL based IMAP email client.  The
>>>>>>> Php IMAP functions are well documented and easy to use.  I store
>>>>>>> messages in a MySQL database (attachments in the file system) for
>>>>>>> ease of organization, maintenance, backup and searching.  I like it
>>>>>>> enough that I want to add my existing archive of email in
>>>>>>> Thunderbird.  To do so, I need to parse mbox files and extract
>>>>>>> message headers, parts, and attachments.  Thankfully, the Php IMAP
>>>>>>> functions can be used to open and parse an mbox file (or even a
>>>>>>> single .eml file) as well as opening a stream to the server.
>>>>>>>
>>>>>>> Using this functionality I can write a script to run on my WAMP
>>>>>>> development machine that reads the Thunderbird folder structure,
>>>>>>> parses the mbox files and saves individual messages along with their
>>>>>>> folder/subfolder path in the Thunderbird folder hierarchy.  It should
>>>>>>> be as easy as pointing it to the top of the folder structure and
>>>>>>> letting it do all the work from there.
>>>>>>>
>>>>>>> Unfortunately, it appears that the Windows Php binary is unable to
>>>>>>> connect to an mbox file, so to make my job easy, I would have to
>>>>>>> upload the entire folder structure (it is about 200MBs) to my shared
>>>>>>> host and process it there.  I would much rather "toy around" with
>>>>>>> this process on my Windows development machine and not on the shared
>>>>>>> host.
>>>>>>>
>>>>>>> There is a Php bug filed for this, but it was determined that the
>>>>>>> "underlying c-client function is unable to open a file."
>>>>>>> https://bugs.php.net/bug.php?id=39880 - closed as "not a bug."
>>>>>>>
>>>>>>> $mbox = imap_open('pathto/mboxfile', '', '') // works on *nix, but
>>>>>>> not on Windows.
>>>>>>>    - Notice: Unknown: Can't open mailbox mboxfiles/Inbox: no such
>>>>>>> mailbox (errflg=2) in Unknown on line 0.
>>>>>>>      (This second error is the one coming from the underlying c-client
>>>>>>> function.)
>>>>>>
>>>>>> Okay, step one: quit munging stuff around and give us the EXACT code,
>>>>>> the EXACT contents of variables involved, and the EXACT error
>>>>>> messages.
>>>>>> You're not revealing national secrets by posting paths to
>>>>>> filenames, and
>>>>>> what the problem is may be in what you're changing to be more general.
>>>>>
>>>>> I used generic paths and filenames because I had tried several
>>>>> variations.
>>>>>
>>>>> I have learned that imap_open only works on a file - on a *nix web
>>>>> server - if the path to the mbox file is relative to $HOME. I have not
>>>>> found any official documentation, just forum posts saying so, and
>>>>> ... it
>>>>> is the only way I have been able to make it work.
>>>>>
>>>>> So, imap_open works for me (on the remote Linux host) if, and only
>>>>> if, I
>>>>> use:
>>>>> imap_open ('public_html/mboxfiles/Trash', '', '')
>>>>> // Trash is an mbox file I uploaded directly from my Thunderbird
>>>>> Profile
>>>>>
>>>>> On Windows
>>>>> c:/localhost is the document root
>>>>> c:/localhost/imap is where the Php scripts are located.
>>>>> c:/localhost/imap/mboxfiles is where the mbox file "Trash" is located
>>>>>
>>>>> I have tried:
>>>>> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
>>>>> being relative to $HOME on *nix
>>>>> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
>>>>> document root
>>>>> imap_open('mboxfiles/Trash', '', ''); // relative path
>>>>> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path on
>>>>> disk
>>>>>
>>>>> On Windows I always get these two errors (the file path changes
>>>>> accordingly):
>>>>>
>>>>> - Warning: imap_open(): Couldn't open stream
>>>>> localhost/utilities/imap/eml/Trash in
>>>>> localhost\utilities\imap\imap_save_mbox_file.php on line 127
>>>>>
>>>>> - Notice: Unknown: Can't open mailbox
>>>>> localhost/utilities/imap/eml/Trash: no such mailbox (errflg=2) in
>>>>> Unknown on line 0
>>>>>
>>>>> I have read that the second error is coming from the c-client (errflg=2
>>>>> comes from there).
>>>>>
>>>>
>>>> I don't see any of the code you listed listing the directories
>>>> imap_open() is looking in.
>>>
>>> There seems to be a misunderstanding.  Chuck is not trying to open an
>>> IMAP stream to a mail *server*, but instead to an mbox *file*.
>>> Apparently this works on Linux, but not on Windows.  According to
>>> <https://bugs.php.net/bug.php?id=39880> this seems to be a problem of
>>> the c-client library on Windows.
>>>
>>
>> No, there is no misunderstanding.  But he has NOT been clear on his code
>> and resulting messages.
>
> Chuck has posted the code that fails on Windows, but works on Linux, and
> posted the according error messages.
>

He has not posted matching code and error messages.

>> Also, that bug is over six years old.  I have no idea if the bug still
>> exists or not.  However, I do not consider a bug that old to still be
>> valid until proven so.
>
> The issue's state was changed to "not a bug" in 2006 already.  I
> consider this to be correct, but not for the reason given in the
> comments.  IMO the valid reason to see it as "not a bug" is, that it's
> not documented that imap_open() can be used for mbox *files*.
>

Correction - not a PHP bug.  I have seen no reference to any bug being 
pursued in IMAP code.

> However, the issue does still exist, even with the latest c-client
> library, which is from 2007.
>

And your proof that it exists in his copy of the code is?

Unlike you, I'm not willing to jump to conclusions based on over six 
year old bug reports.  I prefer to identify the problem.  It may or may 
not be as you claim.

>>>> Once again (and for the LAST TIME):
>>>>
>>>> What is the *EXACT CODE* you are using.  And what is the *EXACT MESSAGE*
>>>> you get in response?
>>>>
>>>> We can't help you if you give incomplete/confusing/incorrect
>>>> information!
>



-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

[toc] | [prev] | [next] | [standalone]


#9666

FromChristoph Becker <cmbecker69@gmx.de>
Date2013-05-27 18:08 +0200
Message-ID<ko00e1$qd3$1@speranza.aioe.org>
In reply to#9663
Jerry Stuckle wrote:
On 5/27/2013 9:25 AM, Christoph Becker wrote:
> Jerry Stuckle wrote: 
>>
>> Chuck has posted the code that fails on Windows, but works on Linux, and
>> posted the according error messages.
>>
> 
> He has not posted matching code and error messages.

In <news:knreb5$roc$1@dont-email.me> Chuck Anderson wrote:

> I have tried:
> imap_open('localhost/imap/mboxfiles/Trash', '', ''); // equivalent of
> being relative to $HOME on *nix
> imap_open('/imap/mboxfiles/Trash', '', ''); // absolute path from
> document root
> imap_open('mboxfiles/Trash', '', ''); // relative path
> imap_open('c:/localhost/imap/mboxfiles/Trash', '', ''); // real path
> on disk
>
> On Windows I always get these two errors (the file path changes
> accordingly):
>
> - Warning: imap_open(): Couldn't open stream localhost/utilities
> /imap/eml/Trash in localhost\utilities\imap\imap_save_mbox_file.php
> on line 127
>
> - Notice: Unknown: Can't open mailbox localhost/utilities/imap/eml
> /Trash: no such mailbox (errflg=2) in Unknown on line 0

>>> Also, that bug is over six years old.  I have no idea if the bug still
>>> exists or not.  However, I do not consider a bug that old to still be
>>> valid until proven so.
>>
>> The issue's state was changed to "not a bug" in 2006 already.  I
>> consider this to be correct, but not for the reason given in the
>> comments.  IMO the valid reason to see it as "not a bug" is, that it's
>> not documented that imap_open() can be used for mbox *files*.
>>
> 
> Correction - not a PHP bug.  I have seen no reference to any bug being
> pursued in IMAP code.

As I said before, the reported bug[1] was set to "not a bug".

>> However, the issue does still exist, even with the latest c-client
>> library, which is from 2007.
>>
> 
> And your proof that it exists in his copy of the code is?

Actually I was wrong.  I tested with some recent PHP version (5.4.7),
and there the problem occured; but now I have checked the IMAP version
in use, and it is 2007e, despite the latest version is 2007f, for
whatever reason.

However, I made the following test script:

| $mbox = imap_open($_SERVER['DOCUMENT_ROOT'] . '/imap/mbox', '', '');
| var_dump($mbox);

On my local Windows XP machine with PHP 5.4.7 this prints:

| Warning: imap_open(): Couldn't open stream C:/xampp/htdocs
| /exp/imap/mbox in C:\xampp\htdocs\exp\imap\index.php on line 5
| boolean false
| Notice: Unknown: Can't open mailbox C:/xampp/htdocs/exp/imap/mbox:
| no such mailbox (errflg=2) in Unknown on line 0

On a Linux server with PHP 5.3.5 (IMAP version 2007e) it prints:

| resource(2) of type (imap)

Of course that is no proof, that imap_open() can't open an mbox file on
Windows, but it is some evidence at least.

> Unlike you, I'm not willing to jump to conclusions based on over six
> year old bug reports.  I prefer to identify the problem.  It may or may
> not be as you claim.

[1] <https://bugs.php.net/bug.php?id=39880>

-- 
Christoph M. Becker

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.php


csiph-web