MMDF
Encyclopedia
MMDF, the Multichannel Memorandum Distribution Facility, is a message transfer agent (MTA), a computer program designed to transmit email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

.

History

MMDF was originally developed at the University of Delaware
University of Delaware
The university is organized into seven colleges:* College of Agriculture and Natural Resources* College of Arts and Sciences* Alfred Lerner College of Business and Economics* College of Earth, Ocean and Environment* College of Education and Human Development...

 in the late 1970s, and provided the initial means of operating CSNET
CSNET
The Computer Science Network 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 directly connected to ARPANET, due to funding or...

, the predecessor to NSFnet
NSFNet
The National Science Foundation Network was a program of coordinated, evolving projects sponsored by the National Science Foundation beginning in 1985 to promote advanced research and education networking in the United States...

. It grew in popularity throughout the 1980s, and was selected by the Santa Cruz Operation 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
MCI Mail was a commercial email service that was operated by MCI Communications Corp. during the period 1983 - 2003. The service is widely credited with being the first commercial email service in the United States.-History:...

 service to Internet mail. A re-coded variant of MMDF, called Pascal MDF (PMDF) was written at the University of Pennsylvania
University of Pennsylvania
The University of Pennsylvania is a private, Ivy League university located in Philadelphia, Pennsylvania, United States. Penn is the fourth-oldest institution of higher education in the United States,Penn is the fourth-oldest using the founding dates claimed by each institution...

 for VMS
VMS
- Communication and transportation :* Voice Mail System, automated telephone messaging* Video Messaging Service , video messaging for 3G handsets* VMS MobiFone, one of the largest mobile phone operators in Vietnam...

 and was eventually commercialized through Innosoft, which subsequently ported PMDF to Tru64 Unix
Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...

 and Solaris. In 1999 PMDF was translated from Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

 to C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

. The C version of PMDF became the basis of the Sun Java System Messaging Server
Sun Java System Messaging Server
Oracle Communications Messaging Exchange Server is Oracle’s highly scalable and robust messaging server software. The software was obtained by Oracle as part of the company's acquisition of Sun in 2010....

 of Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

, while rights to PMDF itself were purchased by Process Software, which then ported PMDF to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

.

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 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, UUCP
UUCP
UUCP is an abbreviation for 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. Specifically, a command named uucp is one of the programs in the suite; it...

, and local (for delivering mail into local mailboxes and accepting mail submitted on the local system). MMDF was used on the CSNET
CSNET
The Computer Science Network 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 directly connected to ARPANET, due to funding or...

 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
    Domain name
    A domain name is an identification string that defines a realm of administrative autonomy, authority, or control in the Internet. Domain names are formed by the rules and procedures of the Domain Name System ....

     canonicalization
    Canonicalization
    In computer science, canonicalization , is a process for converting data that has more than one possible representation into a "standard", "normal", or canonical form...

    .
  • 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
    IP address
    An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

    .
  • Alias tables set up both simple aliases and mailing lists
    Electronic mailing list
    An electronic mailing list is a special usage of email that allows for widespread distribution of information to many Internet users. It is similar to a traditional mailing list — a list of names and addresses — as might be kept by an organization for sending publications to...

    .

DNS
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 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
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 used for email transport over the Internet....

, postfix
Postfix
Postfix may refer to:* Suffix * Postfix notation, a way of writing algebraic and other expressions. Also known as reverse Polish notation* Postfix , a mail transfer agent program...

, qmail
Qmail
qmail is a mail transfer agent that runs on Unix. It was written, starting December 1995, by Daniel J. Bernstein as a more secure replacement for the popular Sendmail program...

, exim
Exim
Exim is a mail transfer agent 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 incoming e-mail....

, and Microsoft Exchange
Microsoft Exchange
Microsoft Exchange can refer to:* Microsoft Exchange Server, an email server software product from Microsoft* Microsoft Exchange Client, the former companion client software for Exchange Server that was embedded into some versions of Microsoft Windows...

. MMDF is considered legacy software.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK