MM checks for new mail automatically during a session. You can also tell it to do so at any point. You don't need to know anything in this section unless you are trying to solve problems.
New mail is received into a system directory, typically /usr/spool/mail. In that directory is a file "owned" by each user, named for the user id. For example, the mail for jb51 is collected in the file /usr/spool/mail/jb51. Access to that file is read-write by the owner, jb51, so no one else can see his mail. The spool file is defined by the MM variable incoming-mail, which you should not change unless you make other changes in the way the host handles your mail.
Normally, when you start MM, it checks the spool file and copies any messages there into your mbox. To be more precise, MM does a get command automatically, and then starts checking the spool for new mail at regular intervals. When it checks for new mail, it runs a program called movemail that brings the mail in from the spool file. The MM variable movemail-path describes where movemail is on the system. Messages in your spool file are first copied into a file called .mm-newmail in your directory. From there, the messages are copied into your main mail file, the file set by the MM variable mail-file, which defaults to $HOME/mbox, i.e. a file named mbox in your home directory.
If you get any other mail file, or examine a mail file, MM will not run movemail when it checks, but will just display a message that there is new mail in the spool file.
The automatic get when MM starts up gives it write access to the main mail file, and lets it run movemail to bring in new mail. This action is controlled by the variable auto-startup-get, normally set to yes. If you set it to no, MM will start up with no current mail file, and you will have to give a get or examine command (which you might put in an .mmrc file).
MM checks for new mail automatically based on the settings of two variables, continuous-check and check-interval. At normal settings, the check is done under two circumstances:
The variable continuous-check controls whether to check in Read and Send modes (that is, at commands that result in a R> or S> prompt, and when the terminal is idle at the R> or S> prompts). Normally, it is set to no, so that you will not be interrupted while you are reading or writing messages. The command set continuous-check yes tells MM to check in all modes; remember to save-init if you want to save the setting.
The variable check-interval controls how often MM should check for mail when the terminal is idle. The value is the number of seconds; normally it is set to 300 (5 minutes). Remember that this refers to an idle terminal, a situation that may mean you have left your desk or are working on something else; do not set check-interval to low values or you will be wasting system resources on something that doesn't help you very much. You can set check-interval to 0 (zero), to turn off idle checking. To set it to zero, for example, type set check-interval 0; to return it to normal, set check-interval 300. Remember to use save-init to save the setting.
You cannot turn off mail checking entirely.
You can also check for mail with the check command.
MM>check No new mail. MM>
If you fill up your disk space quota, the movemail program will fail while writing the .mm-newmail or mbox files. MM will display an error message explaining that your disk space is full and that you have new mail in the spool (giving the exact name of the spool file). You can examine the spool file to see the new mail, and examine your main mail file to see old mail, and of course you can still send mail. You may also want to leave MM and remove any other files you don't need, to make space, and then MM may have enough room to run normally. One thing you can't do easily is delete and expunge mail, if you have no room to work with. If you can write files into a system temporary directory, a possible strategy is to move some files there, then delete and expunge mail, and then move the files back from the temporary directory. In some cases you may need to contact your systems staff for help.
If you are getting mail frequently, the system is slow, and your mail file is very large, you may want to speed up the way MM adds new mail to your main mail file. Normally MM rewrites the whole mail file, and you may notice the pause while it does that. You could change the variable append-new-mail from its normal no to yes, so that MM just appends the new mail to the end of the file. While appending is faster, rewriting is safer, since it saves other changes you're making as you go along, like flags for what's been read, answered and deleted. However, if things are moving very slowly, you may want to trade off rewriting for the ability to get work done faster.
If you do set append-new-mail yes, consider rewriting the current mail file every so often by just giving the write command with no filename. Using expunge or leaving MM also rewrites the current mail file.