Suppose you want to provide e-mail services to a small office, clients of an ISP, or some other group of users. The push mail servers that come with all Linux systems, and that are described in Chapter 19, allow you to set up a server to receive incoming e-mail addressed to your users. The question then becomes: How do you provide access to the mail that the mail server computer is collecting? There are two main approaches to this problem:
The first option was common when UNIX systems served as the only real computers in organizations, and users accessed the UNIX computers through dumb terminal hardware. Today, though, users prefer to use GUI programs, often running in Windows or MacOS, to read their mail. Although there are local GUI mail readers that run on Linux, they require that the user run an X server, which is uncommon on Windows and MacOS systems. For this and other reasons, the second approach is usually more convenient for users who sit at Windows or MacOS computers.
From the user's point of view, the mail reader needs to be configured with the hostname or IP address of the pull mail server, and mail can be checked by launching the mail reader and clicking a button. Many mail readers can periodically check for new e-mail, so the button click may not even be necessary.
Thus, running a pull mail server makes sense when you want to provide access to your e-mail server for users who want to run mail readers on their own computers, without logging in to the mail server using tools like Telnet or SSH. Pull mail servers are commonly used on local corporate and educational networks, as well as by ISPs, who use it to provide e-mail to subscribers. These servers can support just a handful of users or many thousands of them when given adequate hard disks, network connections, and other hardware resources.