[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.

Any thoughts?

Robert Quattlebaum
Jabber: darco at deepdarc.com
eMail:  darco at deepdarc.com
www:    http://www.deepdarc.com/

More information about the Standards mailing list