Re: Parsing mbox files with Windows Php [message #181731 is a reply to message #181717] |
Tue, 28 May 2013 03:15 |
Chuck Anderson
Messages: 63 Registered: September 2010
Karma:
|
Member |
|
|
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
*****************************
|
|
|