Changes between Version 1 and Version 2 of MailConcept


Ignore:
Timestamp:
Oct 15, 2013 8:38:46 PM (4 years ago)
Author:
MichaelRay
Comment:

Minor fixes, moving to "American" english spellings (fwiw), less folksy and conversation tone, etc. Feel free to revert to your "favourite" spelling system of course.

Legend:

Unmodified
Added
Removed
Modified
  • MailConcept

    v1 v2  
    11[[PageOutline]]
    22== A short introduction to the notorious MxA bunch ==
    3 To help specify more precisely just what they are talking about, email professionals talk about MUAs, MTAs, and so on. A few notes on what it all means.
    43
    5 Mail handling is divided into three (or four, or five... depending on who's talking) parts.
    6 There's the client (MUA), the server that sends and queues mail (MTA), retrieval from remote mailboxes (MRA),
    7 local delivery and rewriting of messages (MDA), and remote submission of messages (MSA).
     4MUAs, MTAs and other terms are used by email professionals to help specify with precision what they are talking about.
    85
    9 The terms more describe functions than they describe software. Sometimes a single program such as Mozilla Thunderbird or Microsoft Outlook can combine several parts, in this case client, retrieval, and processing rule functions. Sometimes they're seperated out into individual tools.
     6Here are a few notes on what that means.
    107
    11 Also, despite their confusing appearance, they are terms of convenience. This means that their meaning can change somewhat with the context.
    12 For example, if I run a unix machine that has its own hostname and MX records, so that it can send and receive mail, there are only two different pieces of software needed: Mutt as MUA, and sendmail as MTA (combining the roles of MDA and MSA as well). If it is not needed, the roles are usually not split out.
     8Mail handling is divided into three or more parts, depending on what level of detail you want to go into.
     9There's the client - a mail user agent (MUA), the server that sends and queues mail - the mail transport agent (MTA), retrieval from remote mailboxes (MRA),
     10local delivery and rewriting of messages - the mail delivery agent (MDA), and the remote submission of messages (MSA).
    1311
    14  MUA:: MUA stands for Mail User Agent and means 'mail client program', the part you see and use to send and receive mail.
    15  MTA:: The term Mail Transfer Agent used to mean basically anything between MUAs.
    16   Now, MTAs generally mean the parts that do the routing and actual transfering of mail between hosts, ISPs, and so on, depending on how strict you want to be.
    17  MDA:: An email arrives and does not need to go further.
     12The terms more precisely describe functions than describe software as such. Sometimes a single program such as Mozilla Thunderbird or Microsoft Outlook can combine multiple functions, in this case client, retrieval, and processing rules. Sometimes they're separated out into individual tools.
     13
     14They are terms of convenience despite their confusing appearance. Exact meanings can change with the context in which they are used.
     15
     16For example, a unix machine that has its own hostname and MX records, so that it can send and receive mail, there are only two different pieces of software needed: Mutt as MUA, and sendmail as MTA which also has the roles of MDA and MSA . The roles may be combined and are often not split out.
     17
     18 MUA:: Mail User Agent is a 'mail client program', the part you see and use to send and receive mail.
     19 MTA:: Mail Transfer Agent is anything between MUAs.
     20  MTAs generally do the routing and transferring of mail between hosts, ISPs, and so on, depending on how detailed one wants to be.
     21 MDA:: Mail Delivery Agent. An email arrives and does not need to go further.
    1822  The MTA gives it to the Mail Delivery Agent, and the MDA puts it in an ''incoming'' mailbox. It might call other tools like procmail that then become part of its function.
    19  MSA:: If you are an ISP with lots of users that use MUAs on machines that don't have their own MTA (still with us?),
    20   it doesn't do to simply let all those users submit their messages to your MTA systems without any authentication.
    21   Otherwise, say, spammers might notice and abuse your systems.
    22   So, accepting emails from users for sending elsewhere becomes a specialized task, and an MTA that does that may be called MSA to indicate the difference.
    23  MRA:: A Mail Retrieval Agent makes a connection to a remote mailbox and fetch mail for local use. For example: Fetchmail as a standalone program.
     23 MSA:: On an ISP with lots of users that use MUAs on machines that don't have their own MTA,
     24  it is not enough to simply let all those users submit their messages to the MTA systems without any authentication.
     25  Otherwise spammers will exploit this and abuse the system.
     26  Accepting emails from users for sending elsewhere becomes a specialized task, and an MTA that does that is called the MSA.
     27 MRA:: A Mail Retrieval Agent makes connections to a remote mailbox and fetches mail for local use. Fetchmail as a standalone program is a common example.
    2428
    2529Mutt is an email client, and thus a MUA. Its POP&IMAP support means it has MRA functionality as well.
    2630
    27 A typical generic path of your eMail through the Internet and on your computer system might look as shown in these charts. Your setup may vary in detail.
     31A typical generic path of your Email through the Internet and on your computer system might look as shown in these charts. Your setup may vary in detail.
    2832
    2933|| MailConcept/Flow || MailConcept/Layout ||
    3034
    31 == MUA: Mail User Agent (eMail client) ==
     35== MUA: Mail User Agent (email client) ==
    3236
    33 The MUA is the frontend to the end user to manage and read stored eMail in the user's mailbox(es) and compose new eMail to be sent out via an MSA.
    34 This includes things like decoding MIME-encoded and encrypted messages. MuttTools can help enhance functionality that mutt has not built in.
     37The MUA is the front-end for the end user to manage and read stored email into the user's mailbox(es) and compose new email to be sent out via an MSA.
     38This includes things like decoding MIME-encoded and encrypted messages. MuttTools can help enhance mutt beyond default built-in functionality.
    3539
    36 Other popular MUAs include thunderbird, kmail, evolution, sylpheed, mulberry, pegasus, pine, elm (mutt's predecessor), ...
     40Other popular MUAs include thunderbird, kmail, evolution, sylpheed, mulberry, pegasus, pine, and elm (mutt's predecessor)...
    3741
    3842== MTA: Mail Transport Agent (SMTP server) ==
    3943
    4044The MTA queues, receives from, and sends mail to other MTAs.
    41 This includes routing mail, queueing and retrying sending if the next MTA doesn't accept email right now for whatever reason,
    42 or sending a notification back to the original sender if the next MTA refuses to handle the message for some reason.
    43 Reasons include concluding the receiving mailbox does not exist or is full or otherwise unavailable, or nowadays that it doesn't trust the sending MTA not to send spam.
     45This includes routing mail, queuing and retrying, sending if the next MTA doesn't accept email immediately,
     46or sending a notification back to the original sender if the next MTA cannot handle the message.
     47Reasons might include such things as the receiving mailbox does not exist, is full or unavailable, or that it doesn't trust the sending MTA not to send spam.
    4448
    45 On the internet, MTAs between themselves speak SMTP, for Simple Mail Transfer Protocol. Some popular MTAs include:
     49On the internet, MTAs between themselves communicate via SMTP, the Simple Mail Transfer Protocol. Some popular MTAs include:
    4650 * http://www.sendmail.org/
    4751 * http://www.postfix.org/
     
    4953 * http://www.qmail.org/top.html
    5054
    51 In addition there are ''small MTAs'' ("SMTP clients" as opposed to fully fledged "SMTP servers", above) that are targetted at doing only some specific thing,
    52 without the need to spend the resources to run a SMTP server. Such a program might not listen for incoming messages and only run when there is something to send;
    53 typically it can only pass messages to other MTAs without queueing, routing, or modifying anything. See LightSMTPagents for favourites.
     55In addition there are ''small MTAs'' ("SMTP clients" as opposed to fully fledged "SMTP servers", above) that are targeted to perform a few specific functions,
     56without the overhead of the resources to run a full-blown SMTP server. Such a program might not listen for incoming messages and only run when there is something to send;
     57typically it can only pass messages to other MTAs without queuing, routing, or modifying anything. See LightSMTPagents for favorites.
    5458
    55 An important reason the difference is made is that SMTP requires MTAs to take responsibility for handling the message the moment it accepts it.
    56 That is, if after receiving all the data it reports successful acceptance of the message,
    57 that acceptance includes taking responsibility for not subsequently losing the message.
    58 If after trying really hard it cannot deliver the message it is supposed to report this back to the sender using a ''bounce message''.
    59 This is why "SMTP servers" have to support queueing; "SMTP clients" do not, so this has to be handled in some different way.
    60 In the case of a MUA implementing "SMTP client" functionality, it usually can provide an outbox of sorts to make up for the lack of queueing support.
     59An important reason for these difference is that SMTP requires MTAs to take responsibility for handling the message when it accepts it.
     60After receiving all the data it reports successful acceptance of the message,
     61Acceptance includes taking responsibility for not subsequently losing the message.
     62If after trying several times it cannot deliver the message it will normally report this back to the sender via a ''bounce message''.
     63"SMTP servers" have to support queuing; "SMTP clients" do not, as this has to be handled in a more complex and reliable way.
     64In the case of a MUA implementing "SMTP client" functionality, it usually can provide an outbox of sorts to make up for the lack of queuing support.
    6165
    6266=== mutt and SMTP ===