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. MRA is an automated agent that works on behalf of the user agent checks for the new incoming mail. MRAs may be external applications by themselves or be built into bigger applications like a mail user agent. Significant examples of standalone MRAs include fetchmail and getmail.

The concept of an MRA is not standardized in email architecture. Although they operate like mail transfer agents, MRAs are technically clients when they retrieve and submit messages.

Delivery mechanisms
The mail retrieval agent may support delivery of retrieved mail via the following mechanisms:
 * Via a mail transport agent (Listening for SMTP transfers on port 25)
 * Via a mail delivery agent
 * Direct delivery to an mbox formatted mailbox
 * Direct delivery to a maildir directory
 * Output to standard output

Multiple mailbox support
The mail retriever agent may support retrieval of mail from multiple mailboxes simultaneously. This enables a mailserver to have a centrally configured mail retriever agent that runs against a dedicated mail system account, and collects the mail for all users in a single invocation (rather than using cron to run a mail retriever agent against all the mail recipients).