[Standards-JIG] email best practices JEP
Robert B Quattlebaum, Jr.
darco at deepdarc.com
Wed Oct 4 18:47:16 UTC 2006
I just thought I would drop in my 2 cents on this thread... I've done
a lot of thinking about how this would work, and I've blogged about
it a little: http://www.deepdarc.com/2006/03/30/email-via-xmpp/
I think the first step to replacing SMTP is to realize that it isn't
going away any time soon. The way email currently works has value,
and we shouldn't be trying to completely replace such widely used
system. What we can do, however, is use XMPP for authentication and
transport of email.
Right now, you generally use two protocols for email: one for
checking your mail and one for sending it. This is silly, and just
complicates things for the user. I think that an XMPP protocol could
be developed to handle both.
MIME isn't going away, and we need to realize that. So instead of
trying to replace it with some XMPPism, we should realize that emails
are always going to be in the MIME format.
In the blog post I mentioned earlier, I proposed a 1-to-1 XML
encoding of a MIME message. This would allow for the easy
transmission of emails via XMPP.
Once that gets solidified, then we need to work on the protocols.
Again, I must stress that this should be a "preferred alternative" to
SMTP, but not a replacement. I think it would be best to discuss some
Lets say that Sam, wants to send an email from his XMPP-enabled email
client to someone who is using an XMPP-enabled email server.
First, Sam's client would do a service discovery on the domain name
of the recipients of the email. The recipient's XMPP-enabled email
server would have some sort of <feature> which lets the client know
that the XMPP server supports emails. The email would then be sent to
that server via XMPP (possibly sending the attachments via some other
But what if we are sending the email to someone who doesn't have an
XMPP-enabled email server?
The client would do service discovery on the domain name of the
recipients, and it would fail. At that point, Sam's client would
contact Sam's XMPP-enabled email server, and sends the email to it.
Sam's XMPP-enabled email server then puts that email in it's outbound
When Sam's XMPP-enabled email server gets around to Sam's email, it
does a similar process of service discovery, which will fail. At that
point, Sam's email server will convert the email from XMIME into a
MIME format and attempt to send it via ordinary SMTP.
There are A LOT of details to be worked out, but this is the general
idea of how it might work. I've given a little thought for the
retrieval side of things, and I am thinking something with similar
functionality to IMAP would be appropriate.
Jabber: darco at deepdarc.com
eMail: darco at deepdarc.com
More information about the Standards