Found a fix to the "Pocket Inbox/Messaging app doesn't run!" bug!!!

The built-in Pocket Inbox (its name in pre-WM2003SE op. systems) / Messaging (its name in WM2003SE+ op. systems) application often refuses to start because of internal WindowsCE database problems (see for example this thread for an example). Unfortunately, internal database problems like this also plague alternative mailer apps (for example, WebIS Mail) too because they also use the same WinCE system mail databases.

Up to now, noone knew how the bug can be fixed (except for a plain hard reset). Until I came, completely documented the mail-related databases and fiddled with a non-working mail database, that is. ;)

This all means you no longer need to hard reset your Pocket PC if Messaging stops starting!

What you need to do? It's pretty simple.

- get a database export/import-capable tool. I recommend SKTools. Unfortunately, the trial version will be useless; nevertheless, I do recommend purchasing this application for the reasons outlined here (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand). (Note that if you don't want to use it, skip the following section and go to the one on Phatware Pocket dbExplorer!)

- get the free Kenny Soft dbView (I really recommend this app! Too bad it doesn't support backup/restore...)

1. Start SKTools, go to Databases, tap-and-hold pmailFolders and choose Export:

click here for the screenshot

2. start dbView, go to pmailFolders, scroll to the right until you see the column 0x8301, 0x8302 and 0x3001. (Actually, one of them will entirely suffice; it's just for being absolutely sure that I'm recommend this.) The first two will mostly be empty, except for the POP3/IMAP services you've defined, while the third will either contain one of the "ActiveSync/Deleted Items/Drafts/Inbox/IPM.Root/Outbox or Sent Items" or the name of the POP3/IMAP accounts you've set up. In the following screenshot, there is only one user-defined POP3 account is visible. 0x8301 is the standard 'mailtrns.dll', 0x8302 will always be 'POP3' for accounts and 0x3001 is 'winm' in here – the account name of my Windows Mobile Technology account.

click here for the screenshot

Now, highlight the POP3/IMAP accounts and choose the Tools/Delete Record (or click the rightmost-but-one icon). Do this for all your POP3/IMAP accounts. (Note that this process only worked for me if I removed all my POP3 accounts; however, I didn't need to remove the ActiveSync accounts. Your mileage may vary – you may want to try restarting Messaging after removing a record one-by-one. Dunno if it works: it didn't with me; while removing all POP3 accounts did work.)

3. try restarting Messaging. Now, it should work.

4. go back to SKTools; go to Databases, choose Action/Import and go to \My Documents\db_xml:

click here for the screenshot

Highlight pmailFolders.sk.xml and click OK.

All is set – everything is working again and all your mail accounts are restored. No need for any kind of hard reset. Congratulations :)

Alternatively, if you already have/prefer Phatware Pocket dbExplorer (as opposed to SKTools, you can fix this problem even with the trial version, so, you may want to prefer this app in this case), do the following:

1. tap and hold pmailFolders and choose Backup:

click here for the screenshot

Just click OK on the next screen:

click here for the screenshot

2. Now, click pmailFolders and click the right arrow icon at the bottom until you find a record that has many fields: it's only with POP3/IMAP accounts that there are several values; that is, always pay attention to the size of the scrollthumb next to the values in the bottom region. If it's large, then, just step to the next record. If it's small, go down for the field of ID 12289 to check its value (the POP3/IMAP account name):

click here for the screenshot

Once found the right record(s), choose Records/Delete.

3. start Messaging; it will start no problem

4. go back to Pocket dbExplorer and choose Tools/Restore. Choose the backup file (in the screenshot, "PmailBackup") you've saved:

click here for the screenshot

And, on the next screen,

click here for the screenshot

just click OK, and, on the next, Overwrite:

click here for the screenshot

Congrats - that's all! :)

For tech geeks, this is what happens to the databases during runs. After you remove the POP3/IMAP accounts, they are untouched. After you restore the old pmailFolders, though, the following two databases change: pmailMsgClasses and pmailServices. In the latter, it's definitely the 0x8001 that is messed up; after the restoration, these records receive the right value. An example of two messed up and right values:

Pre-restoration, non-working:
<record oid="8057">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="5" >fm -w</field>
<field id="32769" type="19" htype="CEVT_UI4">83893767</field>
</record>
<record oid="8058">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="4" >winm</field>
<field id="32769" type="19" htype="CEVT_UI4">83894329</field>
</record>

Post-restoration, working:
<record oid="8057">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="5" >fm -w</field>
<field id="32769" type="19" htype="CEVT_UI4">8057</field>
</record>
<record oid="8058">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="4" >winm</field>
<field id="32769" type="19" htype="CEVT_UI4">8058</field>
</record>

Note that 'winm' and 'fm -w' is the two POP3 account names I've defined.

Additional, recommended stuff:

- My documentation of the mail-related databases

My other genuine findings, as far as Windows Mobile bugs are concerned (certainly worth reading!):

- Warning to all WM2003+ Pocket Word users (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand)

- Ever wondered why some of the Web pages saved with MultiIE or Spb Pocket Plus are completely unreadable? (alternatives: PPCT, AximSite, PPC Magazine, iPAQ HQ, FirstLoox)

Do you a "Dummies Version" of this? ;-)

Thanks for the helpful info. I have SK Tools and a Cingular 8125 and all my pmailxxx database are missing. Do you have an easy way to recreate these databases without a hard-reset?

Werner Ruotsalainen's picture

Andy, not yet - the 8125 uses WM5, which uses a new WinCE database technique.

Werner, I may have messed things up here. I've got an Audiovox PPC6600 and after a hard reset this weekend I thought everything was in perfect order until I discovered my incoming SMS text messages were disappearing. When they came in, they would appear in a window (coming down from the title bar) and I could read them there, but once I closed the notification window, the messages would not show up in the text messaging inbox. The inbox was totally empty, but the status bar at the bottom showed "Messages: 0 Items 8 unread" When I sent myself test messages, the unread # increased with the item count remaining at 0. On my today screen the messaging line read "Messages: 8 Unread" Through all of this, the other text messaging "boxes" (sent/deleted/etc) and my POP3 account were working fine. Finding your above fix, I decided it was worth a try. Having only one POP3 account, I deleted its pmailFolders record and the SMS record with "SMS" in the 0x3001 column. After importing the pmailFolders.sk.xml back in with SKTools, I found that I was now worse off than when I began. Now I can't get into Messaging at all. Not even my POP3 account. And now the messaging line on my Today screen reads "IPM.Root: 16 Unread" I haven't received any text messages from anyone to see if the incoming notification window still appears. What did I do? How can I fix this without going through another hard reset again?

Werner Ruotsalainen's picture

Phil, the Audiovox PPC6600 runs WM2003SE; therefore, the Messaging fix app will fix its Messaging databases. Get it from here, transfer the EXE file to your PDA and execute it there.

I've tested it on WM2003(SE) PPC devices; worked flawlessly. Haven't tested it on PPC PE but I don't think it'll mess up anything.

Note that it'll deleta ALL your Messaging-related settings and databases (accounts, everything).

Thanks Werner, everything cleaned up and working correctly again.

is it gonna work with sprint pcs ppc6700..

Werner Ruotsalainen's picture

Nope, unfortunately - this trick can only be used on operating systems prior to WM5 primarily because the database editor tools are still not upgraded for WM5 (otherwise, it would work).

Werner, Thank You. Unfortunately, Pocket DBExploere shows only one DB on my ppc WM5(HTC Wizard): MSN Contacts. I am a newbie in this kind of stuff, so what should I do? Please HELP, I'm kind of desperate...

Werner Ruotsalainen's picture

Saab, unfortunately, this tip is only referring to operating systems prior to WM5. I have tons of comparatively old, pre-WM5 articles like this; I'll try to dedicate some time to re-editing them to reflect the WM5/WM6 changes.

Thank You Werner. Looking forward to hearing from you. Until then, Hard Reset :(

DO NOT HARD RESET! I did something that works! For WM5 users with same problem. After I tried to run SMS Backup, the program give some error: GetFolder:0 error(or somethin'). I figured out that is something wrong with the inbox program after I moved the Inbox folder to the Storage Card. So I tried to see what is wrong with that folder: the Total Commander did't let me see the content of that folder( error: changing the dir). I renamed it, then I opened the poutlook.exe progr. It works now without any problems! ( sorry for my English). Good Luck!

Hi Werner,

I have Hp ipaq 6500, which OS is WinM 2003 Second Edition, Ver. 4.21.1088

I dont know whats gone wrong, but from today i have problem with my messages.

I have:
"Text Messages:11 unread"

When i go inside to inbox

"Text Messages 0 items, 11 unread"

And i know this is not fake, because i got 4 messages this morning and i sent few by myself from different phone.

So question is how could i access them messages? Is it possible? Few f them is very important so i dont want to do hard reset.

Any suggestion about this?

Thanks in advance!
Linas

I run into problems with messaging on Pocket PC 2003 SE - my SMTP server accepting only Secure Sockets Layer (SSL) connection on ports alternative to 25 (587 and 465). In Windows Mobile 5 it is possible to set SMTP server port like server:port, but on Windows Mobile 2003 SE the only way to change port is to change values in pmailFolders table. After multiple testing, I came up with the following description of pmailFolders table:

0x3001 - Account name
0x3003 - Your name and
0x8301 - Dynamic link library
0x8302 - Account type
0x830E - Connection to check messages (encoded, 16 bytes)

Outgoing server settings
0x813F - User name for outgoing server
0x8140 - Domain for outgoing server
0x8141 - Password for outgoing server (encoded, 2 bytes per 1 char)
0x8142 - Use separate settings for outgoing mail server
0x8143 - Require SSL for outgoing mail
0x8318 - Outgoing mail server port
0x830B - Outgoing mail server requires authentication
0x830D - Outgoing mail server address
0x8303 - ???? not sure what this is, defaults to 1
0x8316 - ???? not sure what this is, defaults to 0
0x8317 - ???? not sure what this is, defaults to 0 - this is related to Secure Sockets Layer (SSL): if set to 1 gives error "SSL connection cannot be established"

Incoming server settings
0x3A00 - User name for incoming server
0x8304 - Password for incoming server (encoded, 2 bytes per 1 char)
0x8305 - Domain for incoming server
0x8306 - Connect and check messages automatically every X minutes (see also PROP_CHECK)
0x8307 - the first bit contains a one if the save password for a given account is enabled and zero if it isn’t (&1) (see also PROP_PASSWORD)
0x8307 - the third bit contains a one if the autofetch for a given account is enabled and zero if it isn’t (&4) (see also PROP_CHECK_MINUTES)
0x8307 - the fifth bit contains a one if the message display filter is enabled and zero if it isn’t (&16) (see also PROP_DISPLAY_DAYS)
0x8307 - the sixth bit contains a one if getting full copy of messages is enabled and zero if it isn’t (&32) (see also PROP_HEADERS and PROP_HEADER_BYTES)
0x8307 - the seventh bit contains a one if receiving message headers only is enabled and zero if it isn’t (&64) (see also PROP_HEADER_BYTES) (doesn't matter if PROP_FULLCOPY is enabled)
0x8307 - the ninth bit contains a one if getting attachments is enabled when getting full copy, and zero if it isn’t (&64) (see also PROP_ATTACH_SMALL and PROP_ATTACH_KBYTES) (doesn't matter if PROP_FULLCOPY is disabled)
0x8307 - the tenth bit contains a one if size of attachments is restricted to be smaller than X kilobytes when getting full copy, and zero if it isn’t (&64) (see also PROP_ATTACH_KBYTES) (doesn't matter if PROP_FULLCOPY is disabled)
0x8308 - Include X bytes if receiving message headers only is enabled (set to 0 if disabled, or 0xFFFFFFFF when getting full copy) (see also PROP_HEADER and PROP_FULLCOPY)
0x8309 - When getting full copy, get attachments only if smaller than X kilbytes (set to 0xFFFFFFFF when PROP_ATTACH_SMALL is disabled) (see also PROP_ATTACH and PROP_FULLCOPY)
0x830A - Only display messages from the last X days (set to 0xFFFFFFFF if message display filter is disabled) (see also PROP_DISPLAY)
0x830C - Incoming mail server address
0x8314 - Require SSL connection
0x8315 - Incoming mail server port

Werner Ruotsalainen's picture

Wowz, great! Thanks for the thorough detective work!

I am experiencing regular corruption of a POP3 email account under WM5. The DBs for earlier version do not apply to WM5 and I suspect WM6.

During a Send/Receive session, my WiFi connection was interrupted. Appears the POP3 mailbox has been corrupted. My Today screen shows the account and tells me there are 267 unread messages. When I go into Messaging, the account is not visible so I cannot delete the messages, complete the Send/Receive process or do much of anything. I can create a new account but when I add in the access info, I am told it is a duplicate and it does not create the account.

I am at witts end. I have now scraped all the software and reloaded twice and after each re-load, all it takes is a single delay in the Send/Receive process and the box is corrupt. WM5 Outlook works fine only because it syncs via the USB calbe and not over a wireless connection. I also suspect the code quality is much better......why would MS want anyone to use a POP3 account instead of Pocket Outlook.

Any and all ideas accepted.

Werner Ruotsalainen's picture

Mark, give a try to SKTools PIM cleanup functionality. IIRC, it's able to separately (!) remove mailboxes, not touching anything else in the system (that is, it's in no way a hard/clean reset - you only end up having to set up the mailbox again, which only takes 1-2 minutes, particularly with an external keyboard). Of course, this will only work if and only if you don't have other POP3 mailboxes you don't want to set up again.

Syndicate content
 

Flash®