Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #9614 > unrolled thread
| Started by | Chuck Anderson <cycletourist@invalid.invalid> |
|---|---|
| First post | 2013-05-24 15:57 -0600 |
| Last post | 2013-05-29 00:08 +0200 |
| Articles | 13 on this page of 33 — 6 participants |
Back to article view | Back to comp.lang.php
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 2 of 2 — ← Prev page 1 [2]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2013-05-27 19:05 -0400 |
| Message-ID | <ko0oj6$iat$1@dont-email.me> |
| In reply to | #9666 |
On 5/27/2013 12:08 PM, Christoph Becker wrote:
> 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
> '
And none of the purported statements he tried line up with the purported
results he posted. However, I guess that's a bit beyond your level of
comprehension.
>>>> 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".
>
Again, your comprehension is lacking. It was set as not a PHP bug.
However, once again, there is no indication this is the same problem as
a reported bug over six years old.
>>> 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.
>
No! You, wrong? Can't be!
> 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
>
Not having any idea how your system is set up, I would say your test is
worthless.
> On a Linux server with PHP 5.3.5 (IMAP version 2007e) it prints:
>
> | resource(2) of type (imap)
>
See above.
> 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>
>
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.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[toc] | [prev] | [next] | [standalone]
| From | Christoph Becker <cmbecker69@gmx.de> |
|---|---|
| Date | 2013-05-28 01:42 +0200 |
| Message-ID | <ko0r1t$4tm$1@speranza.aioe.org> |
| In reply to | #9671 |
Jerry Stuckle wrote:
> On 5/27/2013 12:08 PM, Christoph Becker wrote:
>> 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
>> '
>
> And none of the purported statements he tried line up with the purported
> results he posted. However, I guess that's a bit beyond your level of
> comprehension.
Indeed, the paths don't line up--thank you for making me aware of it, as
I have not checked that in the first place. However, let's concentrate
on my own test below.
>>>>> 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".
>>
>
> Again, your comprehension is lacking. It was set as not a PHP bug.
> However, once again, there is no indication this is the same problem as
> a reported bug over six years old.
>
>>>> 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.
>>
>
> No! You, wrong? Can't be!
Of course that can be. I am human, and humans make mistakes sometimes.
And of course, I'm able to admit, when I have done so.
>> 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
>>
>
> Not having any idea how your system is set up, I would say your test is
> worthless.
Which information do you require? It's hard for me to recognize all
*necessary* information.
However, you might consider to run the test yourself on a system of your
choice.
>> On a Linux server with PHP 5.3.5 (IMAP version 2007e) it prints:
>>
>> | resource(2) of type (imap)
>>
>
> See above.
>
>> 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>
>>
>
> 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.
I also prefer to identify the problem; unfortunately my limited
knowledge and time make that hard to accomplish. If you like, you may
help out.
--
Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2013-05-27 19:50 -0400 |
| Message-ID | <ko0r7m$t5t$1@dont-email.me> |
| In reply to | #9673 |
On 5/27/2013 7:42 PM, Christoph Becker wrote:
> Jerry Stuckle wrote:
>> On 5/27/2013 12:08 PM, Christoph Becker wrote:
>>> 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
>>> '
>>
>> And none of the purported statements he tried line up with the purported
>> results he posted. However, I guess that's a bit beyond your level of
>> comprehension.
>
> Indeed, the paths don't line up--thank you for making me aware of it, as
> I have not checked that in the first place. However, let's concentrate
> on my own test below.
>
You are not the OP. I really don't care about your tests. They may or
may not apply to the OP's problem.
>>>>>> 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".
>>>
>>
>> Again, your comprehension is lacking. It was set as not a PHP bug.
>> However, once again, there is no indication this is the same problem as
>> a reported bug over six years old.
>>
>>>>> 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.
>>>
>>
>> No! You, wrong? Can't be!
>
> Of course that can be. I am human, and humans make mistakes sometimes.
> And of course, I'm able to admit, when I have done so.
>
>>> 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
>>>
>>
>> Not having any idea how your system is set up, I would say your test is
>> worthless.
>
> Which information do you require? It's hard for me to recognize all
> *necessary* information.
>
The only worthwhile test is the one that duplicates the OP's problem.
So far I haven't seen enough information to do that.
> However, you might consider to run the test yourself on a system of your
> choice.
>
I will - WHEN I have sufficient information.
>>> On a Linux server with PHP 5.3.5 (IMAP version 2007e) it prints:
>>>
>>> | resource(2) of type (imap)
>>>
>>
>> See above.
>>
>>> 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>
>>>
>>
>> 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.
>
> I also prefer to identify the problem; unfortunately my limited
> knowledge and time make that hard to accomplish. If you like, you may
> help out.
>
Then I suggest you increase both your knowledge and your time. That's
what you need to do to help others (I've been doing it for over 25 years).
I will help the OP identify his problem. I will NOT jump to the
conclusion that a six-year-old bug report is his trouble.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[toc] | [prev] | [next] | [standalone]
| From | Christoph Becker <cmbecker69@gmx.de> |
|---|---|
| Date | 2013-05-29 00:17 +0200 |
| Message-ID | <ko3ac2$qib$1@speranza.aioe.org> |
| In reply to | #9674 |
Jerry Stuckle wrote: > On 5/27/2013 7:42 PM, Christoph Becker wrote: >> Jerry Stuckle wrote: >>> 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. >> >> I also prefer to identify the problem; unfortunately my limited >> knowledge and time make that hard to accomplish. If you like, you may >> help out. >> > > Then I suggest you increase both your knowledge and your time. That's > what you need to do to help others (I've been doing it for over 25 years). Thanks for the hint. I'll do my best. > I will help the OP identify his problem. Good luck. > I will NOT jump to the > conclusion that a six-year-old bug report is his trouble. Indeed, relying on the comments on the bug report was not the best idea. -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Chuck Anderson <cycletourist@invalid.invalid> |
|---|---|
| Date | 2013-05-27 17:51 -0600 |
| Message-ID | <ko0rb7$ti0$1@dont-email.me> |
| 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.
>
> 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!
>
>
The above really is all there is to it.
Note:
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
Here is a cut and paste of the script imap_open_eml.php:
<?php
echo '<pre style="text-align: left;">'; // for more readable output
imap_open('localhost/imap/mboxfiles/Trash', '', ''); // same as 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
echo '</pre>';
?>
Here is the resultant output:
----------------------------
Warning: imap_open(): Couldn't open stream localhost/imap/mboxfiles/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 4
Warning: imap_open(): Couldn't open stream /imap/mboxfiles/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 5
Warning: imap_open(): Couldn't open stream mboxfiles/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 6
Warning: imap_open(): Couldn't open stream c:/localhost/imap/mboxfiles/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 7
Notice: Unknown: Can't open mailbox localhost/imap/mboxfiles/Trash: no
such mailbox (errflg=2) in Unknown on line 0
Notice: Unknown: Can't open mailbox /imap/mboxfiles/Trash: no such
mailbox (errflg=2) in Unknown on line 0
Notice: Unknown: Can't open mailbox mboxfiles/Trash: no such mailbox
(errflg=2) in Unknown on line 0
Notice: Unknown: Can't open mailbox c:/localhost/imap/mboxfiles/Trash:
no such mailbox (errflg=2) in Unknown on line 0
--
*****************************
Chuck Anderson • Boulder, CO
http://cycletourist.com
Turn Off, Tune Out, Drop In
*****************************
[toc] | [prev] | [next] | [standalone]
| From | Chuck Anderson <cycletourist@invalid.invalid> |
|---|---|
| Date | 2013-05-27 18:20 -0600 |
| Subject | Re: Parsing mbox files with Windows Php (correction - ignore previous) |
| Message-ID | <ko0t0s$54k$1@dont-email.me> |
| In reply to | #9675 |
Chuck Anderson wrote:
Been studying storing/retrieving tree structures in MySQL all day and
brain fried. I had the wrong folder names in my script in the previous
post. The corrected script and it's output is below (same result).
> 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:
>>>>> 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.
>>>
On Windows
c:/localhost is the document root
c:/localhost/imap is where the Php scripts are located.
c:/localhost/imap/eml is where the mbox file "Trash" is located (a
Thunderbird mbox file)
Entire Contents of imap_open_eml.php
<?php
echo '<pre style="text-align: left;">';
imap_open('localhost/imap/eml/Trash', '', ''); // same as relative to
$HOME on *nix
imap_open('/imap/eml/Trash', '', ''); // absolute path from DOCUMENT_ROOT
imap_open('eml/Trash', '', ''); // relative path
imap_open('c:/localhost/imap/eml/Trash', '', ''); // real path on disk
echo '</pre>';
?>
---------- end imap_open_eml.php ------------
Resultant output:
Warning: imap_open(): Couldn't open stream localhost/imap/eml/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 5
Warning: imap_open(): Couldn't open stream /imap/eml/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 6
Warning: imap_open(): Couldn't open stream eml/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 7
Warning: imap_open(): Couldn't open stream c:/localhost/imap/eml/Trash in C:\localhost\utilities\imap\imap_open_eml.php on line 8
Notice: Unknown: Can't open mailbox localhost/imap/eml/Trash: no such
mailbox (errflg=2) in Unknown on line 0 Notice: Unknown: Can't open
mailbox /imap/eml/Trash: no such mailbox (errflg=2) in Unknown on line 0
Notice: Unknown: Can't open mailbox eml/Trash: no such mailbox
(errflg=2) in Unknown on line 0 Notice: Unknown: Can't open mailbox
c:/localhost/imap/eml/Trash: no such mailbox (errflg=2) in Unknown on
line 0
--
*****************************
Chuck Anderson • Boulder, CO
http://cycletourist.com
Turn Off, Tune Out, Drop In
*****************************
[toc] | [prev] | [next] | [standalone]
| From | "Peter H. Coffin" <hellsop@ninehells.com> |
|---|---|
| Date | 2013-05-27 10:22 -0500 |
| Message-ID | <slrnkq6ui2.msg.hellsop@nibelheim.ninehells.com> |
| In reply to | #9655 |
On Sat, 25 May 2013 16:39:14 -0600, Chuck Anderson wrote:
> Peter H. Coffin wrote:
>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>
>>> $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).
Since the error messages about whether the file can be found, maybe it's
time to investigate WHERE exactly cclient is thinking it's pointing.
Because DocumentRoot isn't necessarily the same as $HOME. And when
you're using an actual IMAP server, they're nowhere close to alike.
But %UserProfile% might be a lot closer. So where's the base of what
cclient, on Windows, on your configuration, actually pointing? You may
have to haul out a test script that does opendir()/readdir() on '/'
and see what turns up, then find what directory those things that read
out are in. Then put the mail files under there, and make sure they're
world-readable.
[...]
> 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.
It's crackable, but IMHO, the number of PHP instances that are running
on Windows hosts that are doing anything user-related locally pales in
comparison to the number that are using user-related stuff on unix
hosts, which pales in comparison to the number that are doing only
webby-webby stuff for non-local clients. So the number of people that
have more than an academic interest in cracking this (much less
documenting the result) is probably only a handful worldwide, and some
of those probably just said "Screw it. I'll upload the mailfiles."
--
80. If my weakest troops fail to eliminate a hero, I will send out my
best troops instead of wasting time with progressively stronger
ones as he gets closer and closer to my fortress.
--Peter Anspach's list of things to do as an Evil Overlord
[toc] | [prev] | [next] | [standalone]
| From | Chuck Anderson <cycletourist@invalid.invalid> |
|---|---|
| Date | 2013-05-27 21:15 -0600 |
| Message-ID | <ko178g$dou$1@dont-email.me> |
| In reply to | #9665 |
Peter H. Coffin wrote:
> On Sat, 25 May 2013 16:39:14 -0600, Chuck Anderson wrote:
>
>> Peter H. Coffin wrote:
>>
>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>
>>>
>>>> $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).
>>
>
> Since the error messages about whether the file can be found, maybe it's
> time to investigate WHERE exactly cclient is thinking it's pointing.
> Because DocumentRoot isn't necessarily the same as $HOME.
I was thinking it "could" be c:/ (the root of the drive that localhost
is on), but I also don't see a real equivalence.
> And when you're using an actual IMAP server, they're nowhere close to alike.
> But %UserProfile% might be a lot closer.
That would be C:/Users/Username
Hey! It found it there:
When I moved the mbox file 'Trash' to 'C:/Users/Username' and used:
imap_open('Trash', '', ''); // Trash is in %UserProfile%
The low level error changed to:
Notice: Unknown: Trash (file C:\Users\Owner\Trash) is not in valid
mailbox format (errflg=2) in Unknown on line 0
If I upload that very file to my linux host, imap_open works.
I'll try tinkering with line endings .... and whatever else I can think
of ..... later.
BTW, I tried opendir('/localhost/utilities/imap/eml/Trash') and it was
able to read from there just fine, but perhaps that's moot now.
> So where's the base of what cclient, on Windows, on your configuration, actually pointing?
Apparently that c-client is basing all folder references to %UserProfile%.
>> I hoped someone else had cracked this nut, but I'm beginning to believe
>> that it is not crackable, so ....
> It's crackable, but IMHO, the number of PHP instances that are running
> on Windows hosts that are doing anything user-related locally pales in
> comparison to the number that are using user-related stuff on unix
> hosts, which pales in comparison to the number that are doing only
> webby-webby stuff for non-local clients. So the number of people that
> have more than an academic interest in cracking this (much less
> documenting the result) is probably only a handful worldwide, and some
> of those probably just said "Screw it. I'll upload the mailfiles."
>
Not quite yet. I might get this.
[And ... yes, ... I use Php (WAMP) almost exclusively now for my own
browser based apps.]
--
*****************************
Chuck Anderson • Boulder, CO
http://cycletourist.com
Turn Off, Tune Out, Drop In
*****************************
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2013-05-28 12:23 -0400 |
| Message-ID | <ko2let$ftn$1@dont-email.me> |
| In reply to | #9679 |
On 5/27/2013 11:15 PM, Chuck Anderson wrote:
> Peter H. Coffin wrote:
>> On Sat, 25 May 2013 16:39:14 -0600, Chuck Anderson wrote:
>>> Peter H. Coffin wrote:
>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>> $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).
>>
>> Since the error messages about whether the file can be found, maybe it's
>> time to investigate WHERE exactly cclient is thinking it's pointing.
>> Because DocumentRoot isn't necessarily the same as $HOME.
>
> I was thinking it "could" be c:/ (the root of the drive that localhost
> is on), but I also don't see a real equivalence.
>
>> And when you're using an actual IMAP server, they're nowhere close to
>> alike.
>> But %UserProfile% might be a lot closer.
>
> That would be C:/Users/Username
>
> Hey! It found it there:
>
> When I moved the mbox file 'Trash' to 'C:/Users/Username' and used:
> imap_open('Trash', '', ''); // Trash is in %UserProfile%
>
> The low level error changed to:
>
> Notice: Unknown: Trash (file C:\Users\Owner\Trash) is not in valid
> mailbox format (errflg=2) in Unknown on line 0
>
> If I upload that very file to my linux host, imap_open works.
>
> I'll try tinkering with line endings .... and whatever else I can think
> of ..... later.
>
> BTW, I tried opendir('/localhost/utilities/imap/eml/Trash') and it was
> able to read from there just fine, but perhaps that's moot now.
>
>> So where's the base of what cclient, on Windows, on your
>> configuration, actually pointing?
>
> Apparently that c-client is basing all folder references to %UserProfile%.
>
>>> I hoped someone else had cracked this nut, but I'm beginning to
>>> believe that it is not crackable, so ....
>> It's crackable, but IMHO, the number of PHP instances that are running
>> on Windows hosts that are doing anything user-related locally pales in
>> comparison to the number that are using user-related stuff on unix
>> hosts, which pales in comparison to the number that are doing only
>> webby-webby stuff for non-local clients. So the number of people that
>> have more than an academic interest in cracking this (much less
>> documenting the result) is probably only a handful worldwide, and some
>> of those probably just said "Screw it. I'll upload the mailfiles."
>
> Not quite yet. I might get this.
>
> [And ... yes, ... I use Php (WAMP) almost exclusively now for my own
> browser based apps.]
>
Chuck,
I'm glad you found the problem.
I've been looking through the imap code most of the morning, but it
doesn't look like the same code that comes with Windows (this was from U
of Washington). There is some code in there for opening a file, but
nothing dealing with Windows paths. There is code to open a file, but
there doesn't seem to be a difference between Windows and Linux code in
that area (other than the differences between OS handling). But nothing
to do with "C:\Users\Username" at all.
I suspect you're right - line endings may be a problem.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[toc] | [prev] | [next] | [standalone]
| From | Chuck Anderson <cycletourist@invalid.invalid> |
|---|---|
| Date | 2013-05-28 17:56 -0600 |
| Message-ID | <ko3g09$dg5$1@dont-email.me> |
| In reply to | #9683 |
Jerry Stuckle wrote:
> On 5/27/2013 11:15 PM, Chuck Anderson wrote:
>> Peter H. Coffin wrote:
>>> On Sat, 25 May 2013 16:39:14 -0600, Chuck Anderson wrote:
>>>> Peter H. Coffin wrote:
>>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>>> $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).
>>>
>>> Since the error messages about whether the file can be found, maybe
>>> it's
>>> time to investigate WHERE exactly cclient is thinking it's pointing.
>>> Because DocumentRoot isn't necessarily the same as $HOME.
>>
>> I was thinking it "could" be c:/ (the root of the drive that localhost
>> is on), but I also don't see a real equivalence.
>>
>>> And when you're using an actual IMAP server, they're nowhere close to
>>> alike.
>>> But %UserProfile% might be a lot closer.
>>
>> That would be C:/Users/Username
>>
>> Hey! It found it there:
>>
>> When I moved the mbox file 'Trash' to 'C:/Users/Username' and used:
>> imap_open('Trash', '', ''); // Trash is in %UserProfile%
>>
>> The low level error changed to:
>>
>> Notice: Unknown: Trash (file C:\Users\Owner\Trash) is not in valid
>> mailbox format (errflg=2) in Unknown on line 0
>>
>> If I upload that very file to my linux host, imap_open works.
>>
>> I'll try tinkering with line endings .... and whatever else I can think
>> of ..... later.
>>
>> BTW, I tried opendir('/localhost/utilities/imap/eml/Trash') and it was
>> able to read from there just fine, but perhaps that's moot now.
>>
>>> So where's the base of what cclient, on Windows, on your
>>> configuration, actually pointing?
>>
>> Apparently that c-client is basing all folder references to
>> %UserProfile%.
>>
>>>> I hoped someone else had cracked this nut, but I'm beginning to
>>>> believe that it is not crackable, so ....
>>> It's crackable, but IMHO, the number of PHP instances that are running
>>> on Windows hosts that are doing anything user-related locally pales in
>>> comparison to the number that are using user-related stuff on unix
>>> hosts, which pales in comparison to the number that are doing only
>>> webby-webby stuff for non-local clients. So the number of people that
>>> have more than an academic interest in cracking this (much less
>>> documenting the result) is probably only a handful worldwide, and some
>>> of those probably just said "Screw it. I'll upload the mailfiles."
>>
>> Not quite yet. I might get this.
>>
>> [And ... yes, ... I use Php (WAMP) almost exclusively now for my own
>> browser based apps.]
>>
>
> Chuck,
>
> I'm glad you found the problem.
>
> I've been looking through the imap code most of the morning, but it
> doesn't look like the same code that comes with Windows (this was from
> U of Washington). There is some code in there for opening a file, but
> nothing dealing with Windows paths. There is code to open a file, but
> there doesn't seem to be a difference between Windows and Linux code
> in that area (other than the differences between OS handling). But
> nothing to do with "C:\Users\Username" at all.
>
> I suspect you're right - line endings may be a problem.
I have tried every variation of line endings in the mbox file with no
luck. I also tried adding an extra line feed to the beginning - tried
variations of the first line ("From ....") - no luck - same error
(mailbox format is not valid).
And now Christopher Becker seems to have found the problem in his latest
post.
--
*****************************
Chuck Anderson • Boulder, CO
http://cycletourist.com
Turn Off, Tune Out, Drop In
*****************************
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2013-05-28 22:27 -0400 |
| Message-ID | <ko3oqi$j1d$1@dont-email.me> |
| In reply to | #9689 |
On 5/28/2013 7:56 PM, Chuck Anderson wrote:
> Jerry Stuckle wrote:
>> On 5/27/2013 11:15 PM, Chuck Anderson wrote:
>>> Peter H. Coffin wrote:
>>>> On Sat, 25 May 2013 16:39:14 -0600, Chuck Anderson wrote:
>>>>> Peter H. Coffin wrote:
>>>>>> On Fri, 24 May 2013 15:57:14 -0600, Chuck Anderson wrote:
>>>>>>> $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).
>>>>
>>>> Since the error messages about whether the file can be found, maybe
>>>> it's
>>>> time to investigate WHERE exactly cclient is thinking it's pointing.
>>>> Because DocumentRoot isn't necessarily the same as $HOME.
>>>
>>> I was thinking it "could" be c:/ (the root of the drive that localhost
>>> is on), but I also don't see a real equivalence.
>>>
>>>> And when you're using an actual IMAP server, they're nowhere close to
>>>> alike.
>>>> But %UserProfile% might be a lot closer.
>>>
>>> That would be C:/Users/Username
>>>
>>> Hey! It found it there:
>>>
>>> When I moved the mbox file 'Trash' to 'C:/Users/Username' and used:
>>> imap_open('Trash', '', ''); // Trash is in %UserProfile%
>>>
>>> The low level error changed to:
>>>
>>> Notice: Unknown: Trash (file C:\Users\Owner\Trash) is not in valid
>>> mailbox format (errflg=2) in Unknown on line 0
>>>
>>> If I upload that very file to my linux host, imap_open works.
>>>
>>> I'll try tinkering with line endings .... and whatever else I can think
>>> of ..... later.
>>>
>>> BTW, I tried opendir('/localhost/utilities/imap/eml/Trash') and it was
>>> able to read from there just fine, but perhaps that's moot now.
>>>
>>>> So where's the base of what cclient, on Windows, on your
>>>> configuration, actually pointing?
>>>
>>> Apparently that c-client is basing all folder references to
>>> %UserProfile%.
>>>
>>>>> I hoped someone else had cracked this nut, but I'm beginning to
>>>>> believe that it is not crackable, so ....
>>>> It's crackable, but IMHO, the number of PHP instances that are running
>>>> on Windows hosts that are doing anything user-related locally pales in
>>>> comparison to the number that are using user-related stuff on unix
>>>> hosts, which pales in comparison to the number that are doing only
>>>> webby-webby stuff for non-local clients. So the number of people that
>>>> have more than an academic interest in cracking this (much less
>>>> documenting the result) is probably only a handful worldwide, and some
>>>> of those probably just said "Screw it. I'll upload the mailfiles."
>>>
>>> Not quite yet. I might get this.
>>>
>>> [And ... yes, ... I use Php (WAMP) almost exclusively now for my own
>>> browser based apps.]
>>>
>>
>> Chuck,
>>
>> I'm glad you found the problem.
>>
>> I've been looking through the imap code most of the morning, but it
>> doesn't look like the same code that comes with Windows (this was from
>> U of Washington). There is some code in there for opening a file, but
>> nothing dealing with Windows paths. There is code to open a file, but
>> there doesn't seem to be a difference between Windows and Linux code
>> in that area (other than the differences between OS handling). But
>> nothing to do with "C:\Users\Username" at all.
>>
>> I suspect you're right - line endings may be a problem.
>
> I have tried every variation of line endings in the mbox file with no
> luck. I also tried adding an extra line feed to the beginning - tried
> variations of the first line ("From ....") - no luck - same error
> (mailbox format is not valid).
>
> And now Christopher Becker seems to have found the problem in his latest
> post.
>
Yes, if you want to use cygwin, that will work fine.
Looking more at the php imap module, it looks like it links to Windows
libraries, so no source code is available (and what it's doing in the
code is anyone's guess). You might be able to compile the imap source
from U of Washington and link that into the php module. Of course, this
would be non-standard and you'd have to redo it with every release. But
it's another option if you don't want to use cygwin.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[toc] | [prev] | [next] | [standalone]
| From | Christoph Becker <cmbecker69@gmx.de> |
|---|---|
| Date | 2013-05-29 15:23 +0200 |
| Message-ID | <ko4vf9$tcq$1@speranza.aioe.org> |
| In reply to | #9689 |
Chuck Anderson wrote: > And now Christopher Becker seems to have found the problem in his latest > post. And it seems I have found a viable solution now. In the UW IMAP FAQs[1] I found the missing information on how to convert an arbitrary mailbox to an mbxdriver compatible format (which is actually a binary format). Creating a new mailbox with mailutils create #driver.mbx/mailbox was not possible, so I rebuilt the IMAP tools with CREATEPROTO=mbxproto as described in the FAQ article. After that I was able to do mailutils copy old-mailbox new-mailbox The resulting file new-mailbox could be opened and processed under Windows (binary distribution of PHP 5.4.7). [1] <http://www.washington.edu/imap/IMAP-FAQs/#4.5> -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Christoph Becker <cmbecker69@gmx.de> |
|---|---|
| Date | 2013-05-29 00:08 +0200 |
| Message-ID | <ko39rn$p5s$1@speranza.aioe.org> |
| In reply to | #9679 |
Chuck Anderson wrote:
> Not quite yet. I might get this.
I was able to build the IMAP extension under Cygwin. I exported some
news with the Thunderbird Add-On ImportExportTools to a file in mbox
format and copied that to my home directory.
$ php -r '$imap=imap_open("test.mbox", "",
"");var_dump(imap_check($imap));'
object(stdClass)#1 (5) {
["Date"]=>
string(31) "Tue, 28 May 2013 23:53:42 +0200"
["Driver"]=>
string(4) "unix"
["Mailbox"]=>
string(19) "/home/cmb/test.mbox"
["Nmsgs"]=>
int(11)
["Recent"]=>
int(0)
}
The driver is reported as "unix"! In PHP 5.4.15 in ext/imap/php_imap.c
line 839[1] this driver is linked in only, if the system is not Win32
(PHP_WIN32).
imap_open()ing an Inbox of Thunderbird directly reports the "dummy"
driver and 0 messages (same as for an empty file).
So the solution to be able to read Thunderbird mailboxes under Windows
might to be to export them to a format that is handled by the "mbx"
driver. I do not know, how this can be accomplished.
[1] <http://lxr.php.net/xref/PHP_5_4/ext/imap/php_imap.c#839>
--
Christoph M. Becker
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | comp.lang.php
csiph-web