# HG changeset patch # User markus schnalke # Date 1342014688 -7200 # Node ID 5360f5fdb118be4290b326261e67a8153829f1fb # Parent 5d6dca258633c5ac4fd2f97364b4ed8db4181fb1 Added mail agent figure. diff -r 5d6dca258633 -r 5360f5fdb118 discussion.roff --- 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 diff -r 5d6dca258633 -r 5360f5fdb118 input/mail-agents.pic --- /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 to .5 dotted +.PE diff -r 5d6dca258633 -r 5360f5fdb118 intro.roff --- 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.