er Agent The user agent is a component of the electronic mail system. It is a software package that performs the following basic functions: Composing messages: The e-mail messages to be sent out are composed by the user agent. Some user agents provide a template on the screen that has to be filled in by the user while other user agents have a built-in editor that can perform sophisticated tasks like spell check, grammar check, and SO on. The user can create his message in a word processor or text editor that can be imported or cut and pasted to the user agent. Mail Communication Reading messages: The incoming messages are read by the user agents. A user agent (when invoked, checks the mail in the incoming mailbox) referred to as an inbox. For each of the received mail, the user agent shows a one-line sum- mary with fields like the number field, a flag indicating whether the mail has been read and replied to or read but not replied to, sender name, subject field if subject line in the message is not empty, and message size. Replying to messages: The user agent allows the user to send a reply message to the original sender of the message or to all the recipients such that the reply message contains the original message for quick reference and the new message. Forwarding messages: The user agent allows the message to be send to a third party apart from the original sender or the recipients of the copy with or without adding any extra comments. There are two types of mailboxes, called the inbox and outbox. These are actu- ally files with a special format that are created and handled by the user agent (see Figure 29.3). The received mails are kept inside the inbox and all the sent e-mails are kept inside outbox. The messages received in the inbox remain there until the user deletes the messages. User agents can be of two types: Command driven user agents: The command driven user agents were used in the earlier days but are still present as underlying user agents in servers. It performs its task by accepting a one-char