Mac OS X’s Mail: Still offering a miserable user experience when delivering mail fails

Posted by Pierre Igot in: Mail
September 9th, 2008 • 11:00 am

There’s one small thing about the real world out there that Apple’s software designers seem to have a hard time understanding: sometimes servers fail. They become temporarily inaccessible. A racoon eats through an optic fibre cable. Lightning strikes. In other words, shit happens.

Unfortunately, this means that, when shit does happen, Apple’s software offers, well, a very shitty response.

I have already described, in a previous post, what happens in Mail while a message is in the process of being sent, and especially what happens when the sending process fails for some reason.

In that post, I indicated that, when mail delivery fails, somewhat miraculously, a new mailbox called “Outbox” appears in the mailbox drawer. That’s where messages in the process of being sent out are actually stored. This mailbox is normally not visible in the Mail user interface, except when a failure occurs.

But that’s where things get really bad. My post was about Mail 2.0 (Tiger’s version of the Mail application). Now we are using Mail 3.0 (Leopard’s version). Have things improved? Sadly not.

As far as I can tell, they have actually got worse. This morning my usual SMTP server became inaccessible. (There seems to be a general outage in the region, and my SMTP server is affected, but not my Internet access, which is satellite-based.)

I tried to send a message, and Mail stayed stuck in the “Sending…” loop for several minutes. After more than 5 minutes, I got tired of waiting and brought up the Activity window (command-0), which showed that Mail was still trying to connect to the server.

I clicked on the “stop” button and… Mail just stopped trying. But it did not do anything else. The “Sending…” pseudo-mailbox changed back to “Sent,” but of course my message was not in there, since Mail had not been able to complete the sending process.

So where was it? There was no “Outbox” in the mailbox drawer. In other words, the message had simply become totally inaccessible in the Mail UI. It had effectively disappeared, and there was no obvious way to access it.

How can Apple’s engineers consider this an acceptable situation?

As it happens, I did find a workaround to access the message stuck in limbo. I started a search in Mail’s toolbar for the name of the message’s recipient. The search results listed all the messages that I had sent to or received from that person over the years, along with the brand new message that I was in the process of trying to send. And the “Mailbox” column in the search results list indicated that the message’s parent mailbox was… the “Outbox.”

Even though this mailbox did not appear in my mailbox drawer, it obviously existed, and my message was stuck in it. I was able to double-click on the message in the search results list to open it in a separate window and when I did that, miraculously, the “Outbox” mailbox finally appeared in the mailbox drawer!

Once the message was open in a separate window, I was able to edit it by changing the SMTP server to another one, which I knew still worked. And then I clicked on “Send” and the message was finally sent properly and removed from the “Outbox.”

There are a number of inacceptable aspects in this situation.

First of all, Mail should not stay stuck in the middle of the sending process forever. There has to be a time-out delay after which Mail stops trying and displays an error message or warning. (I tried testing things a second time while writing this post. After 15 minutes, Mail is still stuck trying to connect to the inaccessible SMTP server.)

Then, when the sending process is interrupted, either by the expiry of a time-out delay or by user intervention (through the Activity window), the “Outbox” mailbox should appear immediately! I should not have to resort to the workaround of searching for the unsent message via Mail’s search tool in order to find it and open it to edit it in a separate window!

The whole experience is unacceptable. Yet obviously Apple’s engineers deem it perfectly acceptable. This means that either they live in a bubble where server failure never happens and everything is always peachy and every message is always successfully sent right away, or they don’t care about the user experience when things don’t work as expected.

Either way, the bottom-line is that, when servers fail, Mail sucks. And in the real world, servers do fail. Which means that Mail does suck. Repeatedly. In the most frustrating way.

And by the way, it’s now been more than 20 minutes, and Mail is still trying to connect to that inaccessible server to send the message that I asked it to send 20 minutes ago. My suspicion is that this will go on forever.


Comments are closed.

Leave a Reply

Comments are closed.