docs/master

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 diff
     1.1 --- a/discussion.roff	Wed Jul 11 11:54:31 2012 +0200
     1.2 +++ b/discussion.roff	Wed Jul 11 15:51:28 2012 +0200
     1.3 @@ -9,6 +9,49 @@
     1.4  nmh just before the mmh project started, i.e. fall 2011.
     1.5  Current changes of nmh will be mentioned only as side notes.
     1.6  .\" XXX where do I discuss the parallel development of nmh?
     1.7 +.P
     1.8 +For the reader's convenience, the structure of modern email systems
     1.9 +is depicted in the figure.
    1.10 +It illustrates the path a message takes from sender to recipient.
    1.11 +.sp
    1.12 +.KS
    1.13 +.in 2c
    1.14 +.so input/mail-agents.pic
    1.15 +.KE
    1.16 +.sp
    1.17 +.LP
    1.18 +The ellipses denote mail agents, i.e. different jobs in email processing:
    1.19 +.IP "Mail User Agent (MUA)
    1.20 +The only program the user interacts directly with.
    1.21 +It includes functions to compose new mail, display received mail,
    1.22 +and to manage the mail storage.
    1.23 +Also called \fImail client\fP.
    1.24 +.IP "Mail Submission Agent (MSA)
    1.25 +A special kind of Mail Transfer Agent, used to submit mail into the
    1.26 +mail transport system.
    1.27 +.IP "Mail Transfer Agent (MTA)
    1.28 +A node in the mail transport system.
    1.29 +Transfers incoming mail to a transport node nearer to the final destination.
    1.30 +It may be the final destination itself.
    1.31 +.IP "Mail Delivery Agent (MDA)
    1.32 +Delivers mail by storing it onto disk, usually according to a set of rules.
    1.33 +.IP "Mail Retrieval Agent (MRA)
    1.34 +Initiates the transfer of mail from a remote server to the local machine.
    1.35 +(The dashed arrow represents the pull request.)
    1.36 +.P
    1.37 +The dashed boxes represent groups that usually reside on single machines.
    1.38 +The box on the lower left represents the sender's local system.
    1.39 +The box on the upper left represents the first mail transfer node.
    1.40 +The box on the upper right represents the transfer node responsible for the
    1.41 +destination address.
    1.42 +The box on the lower right represents the recipient's local system.
    1.43 +Often, the boxes above the dotted line are servers on the Internet.
    1.44 +Many mail clients, including nmh, have all of the components below
    1.45 +the dotted line implemented.
    1.46 +Not so in mmh, which is an MUA only.
    1.47 +
    1.48 +
    1.49 +
    1.50  
    1.51  
    1.52  
    1.53 @@ -82,8 +125,7 @@
    1.54  were incorporated directly into the user agents.
    1.55  .QE
    1.56  .P
    1.57 -In nmh, the Mail Submission Agent (MSA) is called
    1.58 -\fIMessage Transfer Service\fP (MTS).
    1.59 +In nmh, the MSA is called \fIMessage Transfer Service\fP (MTS).
    1.60  This facility, implemented by the
    1.61  .Pn post
    1.62  command, established network connections and spoke SMTP to submit
    1.63 @@ -119,7 +161,7 @@
    1.64  .P
    1.65  To retrieve mail, the
    1.66  .Pn inc
    1.67 -command acted as an Mail Retrieval Agent (MRA).
    1.68 +command acted as an MRA.
    1.69  It established network connections
    1.70  and spoke POP3 to retrieve mail from remote servers.
    1.71  As with mail submission, the network connections required encryption and
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/input/mail-agents.pic	Wed Jul 11 15:51:28 2012 +0200
     2.3 @@ -0,0 +1,66 @@
     2.4 +.PS 3.5
     2.5 +arrowhead = 18
     2.6 +
     2.7 +define disk {
     2.8 +Disk: [
     2.9 +	ellipsewid=ellipsewid/2
    2.10 +	ellipseht=ellipseht/2
    2.11 +	ellipse
    2.12 +	spline down ellipseht*4/3 from last ellipse.w \
    2.13 +		then right ellipsewid \
    2.14 +		then up ellipseht*4/3 to last ellipse.e
    2.15 +]
    2.16 +}
    2.17 +
    2.18 +define machine {
    2.19 +	box wid $1.wid+.3 ht $1.ht+.3 dashed at $1
    2.20 +}
    2.21 +
    2.22 +up
    2.23 +Sender: [
    2.24 +ellipse "\fBMUA\fP"
    2.25 +ellipse "MSA"
    2.26 +]
    2.27 +machine(Sender)
    2.28 +
    2.29 +arrow 3*linewid from Sender.n
    2.30 +
    2.31 +right
    2.32 +Server1: [
    2.33 +ellipse "MTA"
    2.34 +] with .s at last arrow.end
    2.35 +machine(Server1)
    2.36 +
    2.37 +arrow 2*linewid from Server1.e
    2.38 +box invis ". . ."
    2.39 +arrow 2*linewid
    2.40 +
    2.41 +Server2: [
    2.42 +ellipse "MTA"
    2.43 +ellipse "MDA"
    2.44 +arrow linewid/2
    2.45 +disk
    2.46 +move to Disk.s - (0,.05)
    2.47 +]
    2.48 +machine(Server2)
    2.49 +
    2.50 +down
    2.51 +arrow <- 3*linewid dashed from Server2.s+(.86,0)
    2.52 +arrow 3*linewid from Server2.s+(.9,0)
    2.53 +
    2.54 +Recipient: [
    2.55 +ellipse "MRA"
    2.56 +ellipse "MDA"
    2.57 +move to last ellipse.w
    2.58 +left
    2.59 +arrow linewid/2
    2.60 +disk
    2.61 +arrow <-> linewid/2
    2.62 +#arrow <-> linewid/2 from Disk.w+(0,.03)
    2.63 +#arrow linewid/2 from Disk.w+(0,-.03)
    2.64 +ellipse "\fBMUA\fP"
    2.65 +] with .n at last arrow.end-(.8,0)
    2.66 +machine(Recipient)
    2.67 +
    2.68 +line from .5 <Sender.nw,Server1.sw> to .5 <Server2.se,Recipient.ne> dotted
    2.69 +.PE
     3.1 --- a/intro.roff	Wed Jul 11 11:54:31 2012 +0200
     3.2 +++ b/intro.roff	Wed Jul 11 15:51:28 2012 +0200
     3.3 @@ -384,7 +384,7 @@
     3.4  The feature set should be distilled to the indispensable ones,
     3.5  effectively removing corner cases.
     3.6  Parts that do not add to the main task of being a conceptionally
     3.7 -appealing MUA should be removed.
     3.8 +appealing user agent should be removed.
     3.9  This includes the mail submission and mail retrieval facilities.
    3.10  Choice should be reduced to the main options.
    3.11  All tools should be tightly shaped.