Maybe Microsoft should move its headquarters to 1 Infinite Loop.
This morning, while trying to send out some mail in Microsoft’s Outlook 2007, I noticed that after nearly 10 minutes, the message I tried to send was still sitting in my Outbox. When I clicked “Send/Receive,” like ya do, Outlook decided to get stuck in an infinite loop of trying to send, failing, and then trying again without any kind of warning, I racked up dozens of sendmail tasks in the “Send/Recieve Details” dialog in a few seconds. I had to kill Outlook from the taskbar. This was no ordinary glitch: I tried restarting Outlook, switching back and forth from Offline Mode, and sending from a different account, to no avail.
Creating a new message, readdressing, and copying and pasting my email contents into the new message seemed to work. Although, I can’t help but wonder if several of my friends got multiple (hopefully not dozens!) of copies of the email.
Then later, it happened again!
Long story short, after some furious google searching, I found some hints of explanation. It seems that sometimes (perhaps due to ActiveSync tomfoolery) the Address Book in Outlook gets corrupted, and some display names are orphaned, no longer associated with an email address. When you address an email to one of these orphaned names and click send, it sets Outlook into this infinite loop.
This is a pretty huge failwhale on Microsoft’s part on several levels.
Firstly, the Address Book, “what about it?” you ask. “Isn’t that just your Contacts folder?” As far as I can tell, no. The Address Book is some vestigal part of Outlook code which is what is actually invoked to translate names into email addresses, rather than just using the Contacts database directly. No one ever opens their Address Book, so far as I can tell (although there is a shortcut for it: Ctrl+Shift+B). Everyone manages their contacts and email addresses in the contacts folder, and behind the scenes Outlook relies on some software scorcery to keep the two in synch. Obviously, this breaks from time-to-time. From a humane computing perspective, this is particularly cruel—creating two places to keep email addresses when one would do. Then, allowing the synchronization break without any warning until it causes a problem like:
The Infinite Loop: Seriously, Microsoft, when a display name pulls up a null from the Address Book, the best you can think to do is just try the whole send-mail process over again? No error message, no looking to the Contacts folder for the address, no prompting the user for how to handle this, just keep banging your head into the wall.
And not only that, but the most information I can find about it on Microsoft’s site is from a post in October 2007 to Microsoft’s forums. This means that this bug has been burning people for nearly a year with no visible action on Microsoft. No Knowledge Base article explaining a work around, just some forum posts to wade through to try and pick the most appropriate solution.
For those who came via google or elsewhere looking for a solution, I’ll explain what I did to (hopefully) clear it up. Basically, we’re going to manually clean up the Address Book. This will be fine if there are only a few entries that need cleaning; I had about 2 dozen, If there are lots that are b0rked on yours, you might want to try some ideas listed in this thread.
- Go to Offline mode (File -> Work Offline), and delete any offending messages from the Outbox. Save the text first, so you can resend, by copying and pasting into Notepad or similar.
- Open the Address Book (note: this is not the same as the Contacts folder). Tools -> Address Book, or Ctrl+Shift+B.
- You should see a list of names, display names, and email addresses. Corrupt entries will be any that have the email field left blank. Note that any Contacts you have which don’t have email addresses saved should not appear on this list at all, so anything with a blank email address is a corrupted entry.
- Find a corrupted name, and then close the Address Book, go to your Contacts and open the entry for the name you found. You’re going to copy the email address to the clipboard (Ctrl+C), clear the email field, then save the contact without an email address. Then reopen the contact and paste the email address back in place (Ctrl+V), and save again. This should recreate the entry in the Address Book with the correct email address.
- Rinse, repeat until all corrupt entries are fixed. (You can ignore Distribution Lists, they won’t have an email address listed.)
Shame on you, Microsoft, for wasting over an hour of my time diagnosing and repairing Outlook from a bug that should have been fixed months ago.