Delivery of Mail by MDAs

A mail delivery agent is given a message by an MTA for delivery to another MTA or another network or to a local user’s mailbox. It is the responsibility of the MDA to actually deliver the message to the remote machine or write it to the user’s mailbox. The MDA must therefore be able to affect the delivery by the appropriate means. Typically, multiple MDAs will work with an MTA, one for each type of delivery to be done.

Local-delivery MDAs take a message from an MTA and write it to the recipient’s mailbox on a local filesystem. The MDA may know little to nothing about the message, its headers, or its content. The MDA is generally called by an MTA via a system call, spawning a new process.

Some MDAs include the ability to perform local mail filtering at the user’s request, such as Unix’s /bin/mail. Mail filtering allows messages to be placed into different folders local to an MUA, instead of in a single mailbox.

MDAs may perform filtering activities themselves or call external programs to handle that function. A common MDA-Ievel filtering program for Unix is proemail. /bin/mail checks for a file called .forward in a recipient’s home directory and, if it exists, uses the information in the file to forward messages to other electronic mail addresses or user programs. Messages sent to procmail can be filtered into mailboxes based on rules defined by the recipient.

Figure 1-3 shows the transfer of a message from an MTA to an MDA and thence to a mailbox.

Use of a local-delivery mail delivery agent
Figure 1-3. Use of a local-delivery mail delivery agent

MDAs for remote delivery to another MTA or network mail system accept a message from an MTA and transfer it to the receiving system. Each MDA speaks the protocol appropriate to effect the transfer of the message. The MDA generally assumes that the message has already been formatted correctly for the destination by the MTA.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.2.184