changeset 187:5360f5fdb118

Added mail agent figure.
author markus schnalke <meillo@marmaro.de>
date Wed, 11 Jul 2012 15:51:28 +0200
parents 5d6dca258633
children a0b5050878a0
files discussion.roff input/mail-agents.pic intro.roff
diffstat 3 files changed, 112 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/discussion.roff	Wed Jul 11 11:54:31 2012 +0200
+++ b/discussion.roff	Wed Jul 11 15:51:28 2012 +0200
@@ -9,6 +9,49 @@
 nmh just before the mmh project started, i.e. fall 2011.
 Current changes of nmh will be mentioned only as side notes.
 .\" XXX where do I discuss the parallel development of nmh?
+.P
+For the reader's convenience, the structure of modern email systems
+is depicted in the figure.
+It illustrates the path a message takes from sender to recipient.
+.sp
+.KS
+.in 2c
+.so input/mail-agents.pic
+.KE
+.sp
+.LP
+The ellipses denote mail agents, i.e. different jobs in email processing:
+.IP "Mail User Agent (MUA)
+The only program the user interacts directly with.
+It includes functions to compose new mail, display received mail,
+and to manage the mail storage.
+Also called \fImail client\fP.
+.IP "Mail Submission Agent (MSA)
+A special kind of Mail Transfer Agent, used to submit mail into the
+mail transport system.
+.IP "Mail Transfer Agent (MTA)
+A node in the mail transport system.
+Transfers incoming mail to a transport node nearer to the final destination.
+It may be the final destination itself.
+.IP "Mail Delivery Agent (MDA)
+Delivers mail by storing it onto disk, usually according to a set of rules.
+.IP "Mail Retrieval Agent (MRA)
+Initiates the transfer of mail from a remote server to the local machine.
+(The dashed arrow represents the pull request.)
+.P
+The dashed boxes represent groups that usually reside on single machines.
+The box on the lower left represents the sender's local system.
+The box on the upper left represents the first mail transfer node.
+The box on the upper right represents the transfer node responsible for the
+destination address.
+The box on the lower right represents the recipient's local system.
+Often, the boxes above the dotted line are servers on the Internet.
+Many mail clients, including nmh, have all of the components below
+the dotted line implemented.
+Not so in mmh, which is an MUA only.
+
+
+
 
 
 
@@ -82,8 +125,7 @@
 were incorporated directly into the user agents.
 .QE
 .P
-In nmh, the Mail Submission Agent (MSA) is called
-\fIMessage Transfer Service\fP (MTS).
+In nmh, the MSA is called \fIMessage Transfer Service\fP (MTS).
 This facility, implemented by the
 .Pn post
 command, established network connections and spoke SMTP to submit
@@ -119,7 +161,7 @@
 .P
 To retrieve mail, the
 .Pn inc
-command acted as an Mail Retrieval Agent (MRA).
+command acted as an MRA.
 It established network connections
 and spoke POP3 to retrieve mail from remote servers.
 As with mail submission, the network connections required encryption and
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input/mail-agents.pic	Wed Jul 11 15:51:28 2012 +0200
@@ -0,0 +1,66 @@
+.PS 3.5
+arrowhead = 18
+
+define disk {
+Disk: [
+	ellipsewid=ellipsewid/2
+	ellipseht=ellipseht/2
+	ellipse
+	spline down ellipseht*4/3 from last ellipse.w \
+		then right ellipsewid \
+		then up ellipseht*4/3 to last ellipse.e
+]
+}
+
+define machine {
+	box wid $1.wid+.3 ht $1.ht+.3 dashed at $1
+}
+
+up
+Sender: [
+ellipse "\fBMUA\fP"
+ellipse "MSA"
+]
+machine(Sender)
+
+arrow 3*linewid from Sender.n
+
+right
+Server1: [
+ellipse "MTA"
+] with .s at last arrow.end
+machine(Server1)
+
+arrow 2*linewid from Server1.e
+box invis ". . ."
+arrow 2*linewid
+
+Server2: [
+ellipse "MTA"
+ellipse "MDA"
+arrow linewid/2
+disk
+move to Disk.s - (0,.05)
+]
+machine(Server2)
+
+down
+arrow <- 3*linewid dashed from Server2.s+(.86,0)
+arrow 3*linewid from Server2.s+(.9,0)
+
+Recipient: [
+ellipse "MRA"
+ellipse "MDA"
+move to last ellipse.w
+left
+arrow linewid/2
+disk
+arrow <-> linewid/2
+#arrow <-> linewid/2 from Disk.w+(0,.03)
+#arrow linewid/2 from Disk.w+(0,-.03)
+ellipse "\fBMUA\fP"
+] with .n at last arrow.end-(.8,0)
+machine(Recipient)
+
+line from .5 <Sender.nw,Server1.sw> to .5 <Server2.se,Recipient.ne> dotted
+.PE
--- a/intro.roff	Wed Jul 11 11:54:31 2012 +0200
+++ b/intro.roff	Wed Jul 11 15:51:28 2012 +0200
@@ -384,7 +384,7 @@
 The feature set should be distilled to the indispensable ones,
 effectively removing corner cases.
 Parts that do not add to the main task of being a conceptionally
-appealing MUA should be removed.
+appealing user agent should be removed.
 This includes the mail submission and mail retrieval facilities.
 Choice should be reduced to the main options.
 All tools should be tightly shaped.