MMDF
   HOME

TheInfoList



OR:

MMDF, the Multichannel Memorandum Distribution Facility, is a
message transfer agent Within the Internet email system, a message transfer agent (MTA), or mail transfer agent, or mail relay is software that transfers electronic mail messages from one computer to another using SMTP. The terms mail server, mail exchanger, and MX host ...
(MTA), a computer program designed to transmit
email Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" meant ...
.


History

MMDF was originally developed at the
University of Delaware The University of Delaware (colloquially UD or Delaware) is a public land-grant research university located in Newark, Delaware. UD is the largest university in Delaware. It offers three associate's programs, 148 bachelor's programs, 121 mas ...
in the late 1970s, and provided the initial means of operating
CSNET The Computer Science Network (CSNET) was a computer network that began operation in 1981 in the United States. Its purpose was to extend networking benefits, for computer science departments at academic and research institutions that could not be di ...
, the predecessor to
NSFNET The National Science Foundation Network (NSFNET) was a program of coordinated, evolving projects sponsored by the National Science Foundation (NSF) from 1985 to 1995 to promote advanced research and education networking in the United States. The p ...
. It grew in popularity throughout the 1980s, and was selected by the
Santa Cruz Operation The Santa Cruz Operation, Inc. (usually known as SCO, pronounced either as individual letters or as a word) was an American software company, based in Santa Cruz, California, that was best known for selling three Unix operating system variants ...
as the MTA it would distribute with SCO UNIX in 1989. It was also adopted as the basis for other commercial efforts, including the gateway used to connect the
MCI Mail MCI Mail was one of the first ever commercial email services in the United States and one of the largest telecommunication services in the world. Operated by MCI Communications Corp. from 1983 to 2003, MCI Mail offered its customers a low cost and ...
service to Internet mail. A re-coded variant of MMDF, called ''Pascal MDF'' (PMDF) was written at the
University of Pennsylvania The University of Pennsylvania (also known as Penn or UPenn) is a private research university in Philadelphia. It is the fourth-oldest institution of higher education in the United States and is ranked among the highest-regarded universitie ...
for VMS and was eventually commercialized through Ned Freed's Innosoft, which subsequently ported PMDF to Tru64 Unix and
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
. In 1999 PMDF was translated from
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
to C. The C version of PMDF became the basis of the
Sun Java System Messaging Server Oracle Communications Messaging Server is Oracle's messaging (email) server software. The software was obtained by Oracle as part of the company's acquisition of Sun in 2010. Oracle's Messaging Server could potentially be the most widely deploye ...
of
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
, while rights to PMDF itself were purchased by Process Software, which then ported PMDF to
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
.


Design philosophy

As its name denotes, MMDF is an MTA oriented around the idea of channels. Each means of formatting and transporting mail into or out of the mail system is a channel, and is implemented by a separate executable. This makes MMDF a highly modular system, with each module having all of the idiosyncratic syntax and semantic information necessary for a particular email technology or network, as well as the
least privilege In information security, computer science, and other fields, the principle of least privilege (PoLP), also known as the principle of minimal privilege (PoMP) or the principle of least authority (PoLA), requires that in a particular abstraction la ...
necessary, with the authority of each module partitioned from others. An inbound channel receives messages (via the protocol and in the format it implements) and an outbound channel delivers messages (via its relevant protocol and mapping into the relevant format). Internally, MMDF uses a canonical representation for message content and header, including addresses. Some examples of MMDF channels are
SMTP The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typical ...
,
UUCP UUCP is an acronym of Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers. A command named is one of the prog ...
, and local (for delivering mail into local mailboxes and accepting mail submitted on the local system). MMDF was used on the
CSNET The Computer Science Network (CSNET) was a computer network that began operation in 1981 in the United States. Its purpose was to extend networking benefits, for computer science departments at academic and research institutions that could not be di ...
network.


Message flow

A message that flows through MMDF will typically follow this path: * An inbound channel accepts a message. * It invokes the core of the MMDF system, a program called ''submit'', and feeds it the message as well as the out-of-band information for the message - return address, recipient, etc. * Submit stores the message text after doing any necessary header rewriting, determines what channel(s) will be used to deliver the message, and injects the message into the queues for those channels. * Depending on configuration, submit may then call ''deliver'', or deliver may run later as part of periodic processing. Deliver does no direct processing of messages; instead it invokes outbound (delivery) channels, tells them which messages to process, and gives them a list of recipient addresses for each message. * Each outbound channel delivers the message to those recipients who are to be reached by that channel, and reports to deliver which addresses were successfully delivered to. * Deliver then updates the queues to mark the addresses that were delivered to, removes the message from any queues that have been completely processed, and if all queues have been processed removes the message text itself.


Configuration

MMDF approaches administrative configuration differently than other popular MTAs. In the choice between placing specialized knowledge into the software, versus requiring that it be created through administrator's configuration instructions, MMDF chose the former. Hence, arbitrary header rewriting is performed by hard-coded software, with configuration limited to choices among existing rewriting alternatives. This makes configuration simpler and safer for administrators, who use simple key-value textual tables. It also takes more effort to create a new rewriting choice, but that effort needs to occur only one time, by a single technical expert. The main types of tables are domain, channel, and alias tables. * Domain tables are used for
domain name A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Internet, such as websites, email services and more. As ...
canonicalization In computer science, canonicalization (sometimes standardization or normalization) is a process for converting data that has more than one possible representation into a "standard", "normal", or canonical form. This can be done to compare diff ...
. * Channel tables select the outbound channel on the basis of the next-hop domain name, and also encode per-domain-name parameters for the particular channel, such as the UUCP node name or
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
. * Alias tables set up both simple aliases and mailing lists.
DNS The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
can be and usually is used for these purposes as well, in the form of "DNS tables" that have the same key-value form. The meaning and effect of entries in these tables are more obvious than the configuration data of more generalized MTAs, but their restricted form also limits the effects that can be produced.


Market share

By the end of 2006, MMDF had a market share well behind other mailers such as
sendmail Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and delivery methods, including the Simple Mail Transfer Protocol (SMTP) used for email transport over the Internet. A descendant of the ...
, postfix,
qmail qmail is a mail transfer agent (MTA) that runs on Unix. It was written, starting December 1995, by Daniel J. Bernstein as a more secure replacement for the popular Sendmail program. Originally license-free software, qmail's source code was ...
,
exim Exim is a mail transfer agent (MTA) used on Unix-like operating systems. Exim is free software distributed under the terms of the GNU General Public License, and it aims to be a general and flexible mailer with extensive facilities for checking ...
, and Microsoft Exchange. MMDF is considered
legacy software In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system", yet still in use. Often referencing a system as "legacy" means that it paved ...
.


References

{{Reflist


External links


MMDF Users GroupMMDF FAQ
Message transfer agents