Mail delivery agent

Last updated

A mail delivery agent or message delivery agent (MDA) is a computer software component that is responsible for the delivery of e-mail messages to a local recipient's mailbox. [1] It is also called a local delivery agent (LDA).

Software non-tangible executable component of a computer

Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.

Contents

Within the Internet mail architecture, local message delivery is achieved through a process of handling messages from the message transfer agent, and storing mail into the recipient's environment (typically a mailbox).

Implementation

Many mail handling software products bundle multiple message delivery agents with the message transfer agent component, providing for site customization of the specifics of mail delivery to a user.

Within the Internet email system, a message transfer agent or mail transfer agent (MTA) 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 are also used in some contexts.

Unix

On Unix-like systems, procmail and maildrop are the most popular MDAs. The Local Mail Transfer Protocol (LMTP) is a protocol that is frequently implemented by network-aware MDAs.[ citation needed ]

Unix-like operating system that behaves in a manner similar to a Unix system

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. There is no standard for defining the term, and some difference of opinion is possible as to the degree to which a given operating system or application is "Unix-like".

In email systems, procmail, a mail delivery agent (MDA), can sort incoming mail into various directories and filter out spam messages. Procmail is stable, but no longer maintained, and a number of security vulnerabilities have been discovered since its last release. Users who wish to use a maintained program are advised by procmail's author, Philip Guenther, to use an alternative tool, because it has not been updated since 2001.

maildrop is a Mail delivery agent used by the Courier Mail Server. The maildrop MDA also includes filtering functionality. maildrop receives mail via stdin and delivers in both Maildir and mbox formats.

Invocation

The mail delivery agent is generally not started from the command line, but is usually invoked by mail delivery subsystems, such as a mail transport agent, or a mail retrieval agent.

A mail retrieval agent (MRA) is a computer application that retrieves or fetches e-mail from a remote mail server and works with a mail delivery agent to deliver mail to a local or remote email mailbox. MRAs may be external applications by themselves or be built into a bigger application like an MUA. Significant examples of standalone MRAs include fetchmail and getmail.

List of MDA software for Unix-like platforms

  • Cyrus IMAP - A mail server suite that includes a mail delivery agent
  • dovecot - A mail server suite that includes a mail delivery agent
  • fetchmail - Primarily a Mail retrieval agent (MRA)
  • getmail - simpler, more secure, modern fetchmail alternative
  • maildrop or courier-maildrop (same program?) - traditional procmail replacement
  • procmail - obsolete since it is unmaintained; old, but still used
  • bin/mail, the MDA part of Sendmail - Sendmail is one of the oldest email packages
  • sieve - a more modern replacement for procmail from the GNU Mailutils package

The Cyrus IMAP server is electronic mail server software developed by Carnegie Mellon University. It differs from other Internet Message Access Protocol (IMAP) server implementations in that it is generally intended to be run on sealed servers, where normal users cannot log in.

Dovecot (software) free software IMAP and POP3 server

Dovecot is an open-source IMAP and POP3 server for Linux/UNIX-like systems, written primarily with security in mind. Timo Sirainen originated Dovecot and first released it in July 2002. Dovecot developers primarily aim to produce a lightweight, fast and easy-to-set-up open-source mailserver.

Fetchmail open-source software, command line mail retrieval program

Fetchmail is an open source software utility for POSIX-compliant operating systems which is used to retrieve e-mail from a remote POP3, IMAP, ETRN or ODMR mail server to the user's local system. It was developed from the popclient program, written by Carl Harris.

See also

Related Research Articles

The Simple Mail Transfer Protocol (SMTP) is a communication protocol for electronic mail transmission. As an Internet standard, SMTP was first defined in 1982 by RFC 821, and updated in 2008 by RFC 5321 to Extended SMTP additions, which is the protocol variety in widespread use today. Mail servers and other message transfer agents use SMTP to send and receive mail messages. Proprietary systems such as Microsoft Exchange and IBM Notes and webmail systems such as Outlook.com, Gmail and Yahoo! Mail may use non-standard protocols internally, but all use SMTP when sending to or receiving email from outside their own systems. SMTP servers commonly use the Transmission Control Protocol on port number 25.

Email client computer software that allows sending and receiving emails

An email client, email reader or more formally mail user agent (MUA) is a computer program used to access and manage a user's email.

Maildir e-mail format

The Maildir e-mail format is a common way of storing e-mail messages, where each message is kept in a separate file with a unique name, and each folder is a directory. The local filesystem handles file locking as messages are added, moved and deleted. A major design goal of Maildir is to eliminate program code having to handle locking, which is often difficult.

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 later dedicated in the public domain by the author.

A bounce message or just "bounce" is an automated message from a mail system, informing the sender of a previous message that that message had not been delivered. The original message is said to have "bounced". More formal terms for bounce message include "Non-Delivery Report" or "Non-Delivery Receipt" (NDR), [Failed] "Delivery Status Notification" (DSN) message, or a "Non-Delivery Notification" (NDN).

Email filtering is the processing of email to organize it according to specified criteria. The term can apply to the intervention of human intelligence, but most often refers to the automatic processing of incoming messages with anti-spam techniques - to outgoing emails as well as those being received.

getmail is a simple mail retrieval agent intended as a replacement for fetchmail, implemented in Python. It can retrieve mail from POP3, IMAP4, and Standard Dial-up POP3 Service servers, with or without SSL. It supports simple and domain (multidrop) mailboxes, mail filtering via any arbitrary program, and supports a wide variety of mail destination types, including mboxrd, maildir, and external arbitrary mail delivery agents. Unlike fetchmail, getmail's Python foundation makes it nearly immune to buffer overflow security holes. It also has a simpler configuration syntax than fetchmail, but supports fewer authentication protocols. The software can also function as a basic mail delivery agent.

Sieve is a programming language that can be used for email filtering. It owes its creation to the CMU Cyrus Project, creators of Cyrus IMAP server.

Email forwarding generically refers to the operation of re-sending an email message delivered to one email address to a possibly different email address(es).

The Courier mail server is a mail transfer agent (MTA) server that provides ESMTP, IMAP, POP3, SMAP, webmail, and mailing list services with individual components. It is best known for its IMAP server component.

An email box is the destination to which electronic mail messages are delivered. It is the equivalent of a letter box in the postal system.

Email agent (infrastructure)

An email agent is a program that is part of the email infrastructure, from composition by sender, to transfer across the network, to viewing by recipient. The best-known are mail user agents and mail transfer agents, but finer divisions exist.

fdm is a mail delivery agent and email filtering software for Unix-like operating systems, similar to fetchmail and procmail. It has been started in 2006 by a developer who later also started tmux in 2007.

References

  1. RFC   5598, Internet Mail Architecture, D. Crocker (July 2009)