Site icon josh.com

Outlook 2016’s New POP3 Bug Deletes Your Emails!

Yikes, looks like the new version of Outlook 20016 has broken the POP3 implementation. If you are currently using the “leave on server and  delete after x days” function, the you should check your account because it seems like that the new Outlook is actually deleting your emails almost immediately after retrieving them over POP3. You might also be seeing dupes.

TL;DR If you are using the Outlook 2016 to download from a POP3 server, you should disable automatic updates and/or downgrade to a previous version or else your emails are likely to be deleted almost immediately.

UPDATE 03/21/2016:
You can now just update to the latest version of Outlook to fix this problem. Inside Outlook, click on…
File->Office Account->Office Updates->Update Now

Note that if you turned off Office updates before, you should probably turn them back on now.

 

UPDATE 02/26/2016:
New and helpful Microsoft Knowledge Base Article here…
https://support.microsoft.com/en-us/kb/3145116

TL;DR: Disable automatic updates in File->Office Account->Update Options and then downgrade by entering this at a command prompt…

[code]"C:\Program Files\Common Files\Microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.6366.2068[/code]

 


About a week ago I started seeing dupes in my Outlook inbox. Later I noticed that other clients were not seeing new emails at all.

After hours and hours of painful research, I am almost certain that I’ve narrowed the problem down to a bug in the latest Outlook 2016 POP3 client UIDL database.

To prove it, you can do what I did….

  1. Download a fresh Windows virtual machine straight from Microsoft. While these VMs images are meant for testing browser compatibility, they are super handy for testing other things too since they are ready to run and super clean. I used VirtualBox to run the VM, but it doesn’t matter.
  2. Download and install a trial copy of Outlook 2016. Again, super fresh and super clean.
  3. Download and install hMailServer.  This is a clean and lightweight POP3 and SMTP server that you can install in about 2 minutes. Make sure you pick “use internal database”.
  4. From the hMailServer admin, add a domain “test.com” and then add a user “test@test.com” to the domain. You can safely leave everything at defaults.
  5. Launch Outlook without adding an account. We want to turn on logging before we do any POP3 so we capture everything.
  6. Enable logging under File->Options->Advanced->Enable Logging.
  7. Quit and Restart Outlook to actually enable logging.
  8. Now go into File-Add Account and manually add a POP3 account with the username “test@test.com” and POP3/SMTP servers “127.0.0.1”. You can leave everything else at default since the default is to leave messages on server for 14 days.
  9. Do “send/receive” and you should see the Outlook test email.
  10. Use the “New Email” button to send a couple of test emails to “test@test.com”.
  11. Do “send/receive” a couple of times and you should see the new test emails. Then you should also eventually start seeing dupes. Bingo!

Now open up the file C:\Users\IEUser\AppData\Local\Temp\outlook logging\OPMLog.log.  Here are the lines that highlight the issue…

[code]

# List all messages on the server

2016.02.24 13:40:46 POP3 (127.0.0.1): [tx] UIDL
2016.02.24 13:40:46 POP3 (127.0.0.1): <rx> +OK 1 messages (1081 octets)
2016.02.24 13:40:46 POP3 (127.0.0.1): <rx> 1 1
2016.02.24 13:40:46 POP3 (127.0.0.1): <rx> .

# There is a new message #1, so retrieve it

2016.02.24 13:40:00 POP3 (127.0.0.1): ==== Comparing server and local blobs ====
2016.02.24 13:40:00 POP3 (127.0.0.1): 1 : new
2016.02.24 13:40:00 POP3 (127.0.0.1): ==========================================
2016.02.24 13:40:00 POP3 (127.0.0.1): Do deletions: LoS: yes, DA: 14, DoN: no
2016.02.24 13:40:00 POP3 (127.0.0.1): ========= No blob changes =========
2016.02.24 13:40:00 POP3 (127.0.0.1): ===================================
2016.02.24 13:40:00 POP3 (127.0.0.1): [tx] RETR 1
2016.02.24 13:40:00 POP3 (127.0.0.1): <rx> +OK 1081 octets
2016.02.24 13:40:00 POP3 (127.0.0.1): done

# A little while later….
# List all messages on the server

2016.02.24 13:41:17 POP3 (127.0.0.1): [tx] UIDL
2016.02.24 13:41:17 POP3 (127.0.0.1): +OK 2 messages (3650 octets)
2016.02.24 13:41:17 POP3 (127.0.0.1): 1 1
2016.02.24 13:41:17 POP3 (127.0.0.1): 2 2
2016.02.24 13:41:17 POP3 (127.0.0.1): .

# Now there are two messages, #1 (the one from a couple of minutes ago) and #2 (a new one)

2016.02.24 13:41:17 POP3 (127.0.0.1): ==== Comparing server and local blobs ====
2016.02.24 13:41:17 POP3 (127.0.0.1): 2 : new
2016.02.24 13:41:17 POP3 (127.0.0.1): ==========================================

# Wait! What? Only one of those messages it new! Did you already forget about #1?

2016.02.24 13:41:17 POP3 (127.0.0.1): Do deletions: LoS: yes, DA: 14, DoN: no
2016.02.24 13:41:17 POP3 (127.0.0.1): [tx] DELE 1
2016.02.24 13:41:17 POP3 (127.0.0.1): +OK msg deleted

# WTH are you DELETING my 1st email message!?! I told you to leave on server (Los) for 14 days (DA)!

[/code]

The full log is available here showing the whole tragedy unfold.

After multiple calls with Microsoft, escalation is underway. I’ll update with details.

I do miss the old days when you could get straight to the application group with real problems, I think building walls around the engineers ends up hurting their situational awareness on stuff like this. All developers should be required to spend a certain amount of time every day fielding support calls. Makes for much better products.

UPDATE 3/1/2016:

If you are having problems downgrading…

  1. Try running the command as Administrator.

  2. If you are getting “Something went wrong” errors, try repairing your Office installation.

Exit mobile version