Differences from SMTP-based Internet mail

These are some of the major visible architectural differences (aside from the differences relating to inhibiting unsolicited bulk mail) between SMTP-based Internet mail and IM2000 Internet mail.

Forwarding is an MUA-only process.

Forwarding in SMTP-based Internet mail is described in RFC 1123 section 5.3.6. Forwarding takes one of two forms, one which retains the original envelope sender mailbox and one that does not.

Forwarding in IM2000 is different in three ways:

In IM2000 forwarding is thus done by user agents. In order to forward mail to other mailboxes recipient MUAs either

No more "bounce messages".

SMTP-based Internet mail is a "store and forward" system, and the envelope sender mailbox of a message is the reverse path to which transport and pre-delivery processing errors are sent. Delivery status notification messages ("bounce messages") are sent by intermediaries and by delivery agents. Originators rely upon these others to send "bounce messages" back to them, which they do in a variety of formats.

IM2000 Internet mail is not a "store and forward" system. Mail does not traverse a path to be delivered, and there are no such things as "bounce messages" that travel back along that path.

In IM2000, delivery status information is maintained directly at the originator's message store without reliance upon any parties at the recipient end, is available in a standard form, and is inherently maintained as part of the communications protocols.

Recipients' mailboxes are maintained by the senders.

SMTP-based Internet mail is a "recipient stores" system. Recipients maintain, and pay for, the storage for their mailboxes. Recipient mailboxes are stored in one single central place.

IM2000 Internet mail is a "sender stores" system. The storage for each individual part of a recipient's mailbox is maintained, and paid for, by the originator of the particular message involved. Recipient mailboxes are distributed across one or more message stores.

Expressing these in terms of a folder-based MUA:

Pipelining is implicit.

In SMTP-based Internet mail, the actual communications protocols, SMTP Relay and SMTP Submission, require several round trips per mail transaction. (The "pipelining" extension ameliorates this to some extent, but in its turn complicates the implementations of both servers and clients, which have to deal with complex rules for response batching and deadlock avoidance, respectively.) Further round trips are incurred by largely useless protocol chaff, and by the client having to wait for the server's greeting banner.

In IM2000 Internet mail, there's no "relay" protocol at all (of course); the message submission protocol usually incurs just two round trips, one for the message envelope and one for the message data (reducing to one round trip in the event of an envelope error), per message submission; and there is no greetings banner, allowing the client to start sending a command immediately after the connection has been opened.

Very few "trace" headers.

SMTP-based Internet mail is a "store and forward" system, with each "hop" on the path that a message traverses from originator to recipient recorded in one or more "trace" header.

IM2000 is not a "store and forward" system. Mail does not traverse a path to be delivered, so there is no path to be traced in the first place.

Only in two places are trace headers even appropriate in IM2000:

Mailing lists are not mailboxes.

In SMTP-based Internet mail, mailing lists are mailboxes; mailing list subscriptions are not handled by MUAs; and there is no distinction, directly visible to an originator, between a mailbox that is a mailing list and any other type of mailbox. Originator MUAs can do useful things (such as pick appropriate default Mail-Followup-To: values) if they know which mailboxes are actually mailing lists. But originator MUAs have no guarantee that they will be told this information.

In IM2000 Internet mail, mailing lists are not mailboxes, and mailing list subscriptions are handled by MUAs. Recipient mailboxes indicate recipient notification agents, whereas mailing lists indicate message stores. Originator MUAs know, because they have to know (in order to know which message store to submit any mailing list messages to), about all of the mailing lists to which an originator is subscribed for writing. Mailing list names and recipient mailbox names are two distinct and separate namespaces.

No more requirement of superuser privilege for MTSes.

On MTSes for multi-user systems, such as Unix and Linux, parts of SMTP-based MTSes have to have superuser privileges:

On MTSes for multi-user systems, such as Unix and Linux, no part of an IM2000 Internet mail system requires superuser privileges:

© Copyright 2004-2004 Jonathan de Boyne Pollard. All rights reserved. "Moral" rights asserted.
Permission is hereby granted to copy and to distribute this web page in its original, unmodified form as long as its last modification datestamp information is preserved.