This is the mail system
dewith.com
dewith.com
The author's main gripe is Mailer Daemon messages. It's not email's fault that people write shitty clients that don't display a pretty failure message. If your car doesn't have anti-lock breaks, it's not the road's fault when you hit a patch of ice and slam into a tree.
Email is great not only because it works simply and beautifully, but because it's so extendable. People think it's broken. It's not. It's just simple...and it's this same simplicity that makes it easy to build on top of. Look at Gmail or Xobni. Both have incredible features that "email" doesn't have because they took the time to build extras on top that make it work nicely.
Email is NOT broken. There's nothing to fix. Whatever fixes you think it needs you can make yourself. The underlying platform works great. If you have a problem, write/patch a client.
(Google Wave showed promise... but it also introduced a ton of new complexity, and given the pattern of messages "living" on the sender's server, it wasn't clear how archival should actually work.)
It seems most people who advocate this notion that email is "broken" would rather us all use some centralized, proprietary system akin to Facebook messaging. This would be an unimaginable step backward for reasons that I hope do not require elaboration.
btw Facebook messaging is partly based on XMPP so it's not completely proprietary.
That's a pretty good error message. Most people glaze over as soon as they see it.
Most people ignore the content of error messages as soon as they realize what they're reading. An awfully large percentage of people ignore it entirely.
I don't know what to do about people.
Seems reasonable to me.
People are doing energy management all the time, and that's not a bad thing. They see something that looks technical at a glance (it's got numbers and slashes and run-on sentences) and that's it. They know they're not technical, and they don't aspire to be technical, so they don't waste energy trying to comprehend the message.
Hmm, it's okay.
It's a person masquerading as a computer masquerading as a person. This doesn't really help IMO. Why can't it be
"Hi, this is the Yahoo! email support team. You sent a message to someone but when we tried to pass it on the email address didn't work so we can't send the email for you. Here's some things to try ... technical details and the text of the email you sent are below [or attached]."
The response could also include info like that the domain is live.
Probably a computer at the CIA is reading it though.
Immediate deletion as a phishing scam before reading further.
At this point a large number of users will reply to the email expecting to reach the Yahoo! email support team, who of course can help with every individual bounced email. They will be disappointed when this doesn't work out.
(I didn't change it.)
But, by all means, improve the text itself.
The text can and should be improved and be void of HTML shiny - the mail client itself could parse the new, slimmer, standard error text and make it pleasing.
As somebody who spent 13 years doing tech support I can tell you that the vast majority of users don't read error messages no matter how shiny or well written they are.
If the user has made a mistake somewhere, the client should try to understand the error message and, if it's user error (email address doesn't exist, attachment too big), it should suggest solutions to the problem in a language the user can understand.
If the system itself has an issue, the client should provide enough information to tell the user either: a) How they can resolve it b) How they can contact whoever needs to resolve it
Easy-to-read message at the top, debug output underneath. Simple.
Let's standardize all email error messages to HTML. At least then a standard exists even though it will suck, most standards suck in many ways. But it's a total nightmare without any.
Does any mail client handle the mime-type text/markdown or text/x-markdown [0] or text/x-web-markdown [1] or something?
[0] http://www.mail-archive.com/markdown-discuss@six.pairlist.ne...
[1] http://codecraft.io/2011/07/18/ubuntu-markdown-files-mime-ty...
This means the OP's solution can leave useful debugging in place while providing the user with the HTML shiny they've come to expect.
Machines can read [these error messages] just fine, though.
Here's an idea: machines shouldn’t slap us in the face.
They should help us along if they fail to do our bidding.
He's not encouraging admins to replace useful debugging output. In fact, it's the opposite: he's encouraging email client designers to actually use the debugging output to let people know what went wrong. His mockup is quite clearly of an email client showing users relevant recovery options based on an underlying error message the client has parsed.In other words, he's proposing that email clients treat MTA error messages precisely as they already handle raw headers. Full headers contain useful debugging information, but you aren't normally debugging.
Maybe there should be, but that's a problem that has to be solved before the shiny UI can be placed over it.
If you've written many systems that deal with email you know that you could be processing almost anything.
Sure, there might not be a 'standard' format for email, but you can return a multipart message that perserves the ugly text messages and includes an HTML message for the rest of us.
Note, that by standard I mean most emails violate any particular email RFC in some egregious way, similar to the way most HTML pages are invalid, for example the page for this comment has no less than 20 errors.
Should somebody try to do some smart parsing of failure notifications to make them more readable? Sure, I don't see why not. But don't pitch the baby out with the bathwater here. The underlying system is not that bad.
Using pg's words, mail is a to-do list that anybody can put shit on, and I don't have any control over who puts things on it. We live in an era of technology that can do e-mail so much better, and replacing it must happen in my lifetime. Everything, from the architecture to the messages themselves, need an overhaul. The extraneous shit we bolt on to e-mail (SPF, DKIM, PGP)...it's just making it a big, unwieldy mess.
That's a misuse of email on the receipient's side, not on the system's side. Email is about messages, not about tasks. Although there might be more comfortable (i.e., more automatic) ways, there's nothing wrong with maintaining a TODO list that is 100% separate from the INBOX.
For example, in my TODO list I describe shortly (and in my own words) what I consider to be important. Why should I waste my time scanning through the INBOX everytime I want to check what needs to be done?
In other words: It's me who decides what gets on my TODO list, nobody else! I'm in total control because I'm a free citizen living in a democracy, and as such it's my responsibility to organize my life. In particular, to decide what to do (to-do) in my life.
If you decide to give other people access to your TODO list (e.g. by defining your INBOX to be your TODO list), you're voluntarily giving up control of an important part of your life. Nobody forces you to do that. In fact, almost every organization guideline strongly advises against that kind of nonsense. (The most famous one being the "Inbox zero" series at http://www.43folders.com/izero)
Todo list
Social networking notifications
Text messaging
Planning meetings
Planning vacation
Discussing issues with colleagues (mailing list)
Bill notifications
Newsletters / grey mail
File sharing
We do all of those different things and shove them into a single client that was designed (with minor alterations) over 30 years ago. What were they using email for then? To send “holy shit, this is cool!” messages to other neckbeards.We should be using a separate client for all of these uses. Email is nothing more than a messaging protocol. You could launch a group texting app and use email as the delivery protocol. Your user base would instantly be every person with an internet connection. It wouldn’t matter that person A has your app and person B doesn’t, you could make it transparent to the person that has the app and pitch to the person that doesn’t.
The biggest obstacle to this is that we all use regular old email clients today and increasing the already incredible noise would not be without backlash. I think you have to start out with apps that don’t require adding to your message count (a notification app that scrapes your inbox, for example).
Meanwhile startups are trying and failing to make every service its own silo that travels over port 80. This is what is most sickening about startup culture today, no one is creative about using the stuff that has been around forever and is used by everyone.
If that's your complaint, then your beef isn't with email in particular, but with the mailbox paradigm in general. But I for one find that paradigm useful, and I respectfully disagree.
E-mail is like democracy. It's the worst messaging system, except for all the others.
And yes I get you idea, this is actually a RFC http://tools.ietf.org/html/rfc6522
And the MUA (Mail Program) should just deal with it properly. But then you have all these Bloatus Notes, M-SExchange and other broken system in the wild...
While you could implement a shiny-for-the-laypeople status code parser, email as a system works unbelievably well.
This. I shudder every time someone mentions replacing e-mail attachments with Dropbox/iCloud/etc., which somebody already did in this thread. With e-mail, I am beholden to nobody; and if I pay some company to handle my e-mail, it's only because I voluntarily chose to do so. I could drop that company at any time, fire up my own mail server, and have a 5TB mailbox with 10, 20, 30 years of searchable history if I wanted to. I can also access it with a whole bunch of free and open-source software, from ESR's original fetchmail all the way to the latest alpha of Thunderbird.
Every other messaging system that I've heard about, on the other hand, is either held hostage to one company's proprietary platform or clearly not intended for people who need to look up conversations they had 10 years ago.
So please, folks, by all means fix what's currently wrong with e-mail. But please think twice before suggesting that everyone replace it wholesale with some proprietary cloud-based TODO app.
"Fix what's currently wrong with email" is so overly vague as to be basically meaningless. Different people have completely different ideas about what is "wrong" with email, and it is such an entrenched technology that you will almost certainly never be able to make structural changes to it unless the problem set it addresses is radically diminished.
I also don't see anything wrong with having a free-form, vendor-neutral, decentralized messaging protocol that can be used for a million different purposes. As long as the underlying protocol itself is reliable (e.g. it has proper error handling) and extensible (e.g. you can add custom headers and MIME types that other software won't mess with), innovators are free to implement whatever functionality they want on top of that protocol. Heck, Richard Stallman uses e-mail to browse the web! If you restrict the protocol to what you think should be its only purpose, you're unnecessarily limiting what other people can do with it. That would be like restricting HTTP to hypertext documents only, no AJAX, no API calls, no streaming.
IMO, e-mail doesn't need to become a TODO list or notification system. When I say "fix it", I mean we should clean up old cruft from the protocol (e.g. make it 8-bit clean) and make it extensible so that it is not too difficult for interested parties to implement a TODO list, notification system, etc. on top of it if they want to. People will obviously disagree about how exactly that should be done, but people disagree about everything anyway.
I wonder if someone actually compiled a list of e-mail shortcomings? I tried to do a search but keyword space is filled with regular users searching for standard e-mail problems.
Sorry you couldn't send your attachment but go back to your blog and leave us alone.
Given the amount of variablility around mail handling, relays, spam filtering, etc, I'm not sure that it's entirely feasible to "standardise" error or bounceback messages. RFC 3464-style messages get us part way there but it just doesn't approach something as "nice" as HTTP error codes (which themselves still aren't handled in a standard way by web browsers, they are handled on a case by case basis, if at all, by web developers).
I think this problem is only going to approach being solved when some of the more edge-case uses of email (such as attaching/sending files) are deprecated by more targeted, more efficient services. For example, lets say everyone started using Dropbox or YouSendIt to send files instead of attaching them in emails. And alongside that perhaps a separate protocol such as iCal or similar takes over the "meeting arrangement" space. Eventually the usefulness of email may be narrowed down into a small enough band of "send and forget" messaging that someone can actually, finally, come up with a better, more efficient and usable alternative.
Until that happens, or something else equally radical, email is something we're just stuck with, worts and all.
[...] I'm not sure that it's entirely feasible to "standardise" error or bounceback messages. //
Well couldn't we use something akin to SPF - ie a TXT field in the domain's DNS record with a shorthand for the acceptable receiving protocol in operation, kind of an RPF.
So you'd have something like:
alicious.com TXT v=rpf1 deny-ext:exe,reg,dll max-size:15MB req-field:sender ip4:xxx.xxx.xxx.xxx/16 req-format:txtonly req-other:spf ...
would tell the MTA (or the forwarding relay) that this address will likely reject emails containing exe, .reg, .dll files; emails over 15MB; emails without a sender field; emails apparently originating from servers outside the given address range; emails not in text format; emails from domains without a SPF; ...
Whoops got carried away there.
What would be the problems with this sort of scheme?
[FWIW there's already a milter called RPF but that's not what I'm proposing here I'm talking instead about a policy to give to a sender to tell the sender what you intend to accept so that they can choose to match your requirements and avoid having the mail rejected. Obviously an MTA/MUA can choose to receive mail that doesn't adhere to the policy if they wish.]
Ultimately though, the inertia to implement such a thing on existing MTAs is somewhere close to the difficulty of implementing IPv6. Except the need for IPv6 is verging on dire, and not many people seem to be rushing to fix that one. How will we convince people to act with any expediency over something that is, at most, an inconvenience?
> Except the need for IPv6 is verging on dire
But we just got all of Iran's blocks back because they are removing themselves from the Internet, right?http://www.iana.org/assignments/smtp-enhanced-status-codes/s...
http://tools.ietf.org/html/rfc3463
I'm guessing most e-mail client providers just haven't found a reason to prettify the responses. If anyone is up to the task, then can you explain PGP/GPG so the entire world can also understand and use that?
SMTP bounce codes are notorious for changing on a per domain basis whenever someone feels like it.
I work with StrongMail supporting their Email Marketing Platform and their solution is to have a central database that is updated regularly for all major ISPs to basically be able to have a conversion process between the SMTP bounce codes and the 30 classifications for mail failures StrongMail groups failures by (such as User not existing, blocked due to spam complaint, service temporarily offline, etc). This conversion process has to be updated regularly to keep up with changes.
Server side generation of multi-part NDR reports including HTML email could be a solution, i am not sure if it violates the rfc to send NDRs in multi-part, it could perhaps need an amendment.
But if you want to show this then your in luck since all the major SMTP servers besides exchange are open source, go produce a patch set for postfix, sendmail and qmail.
I wish Thunderbird's spam filter would check if I actually sent the message the error message refers to.
You can apply this to every transactional email, not just to bounce messages.
Off the top of my head:
- Vacation auto-replies
- Receipts
- Error reports (ok, that might be a bit coding specific)
- Sendmail was first released in 1983 initially. - Postfix was released in 1997 initially.
Though both are getting maintenance updates, and new processing features, none have improved the actual error path system. Maybe someone should write a better MTA?